【题目描述】
梦游中的你来到了一棵N个结点的树上。你一共做了Q个梦,每个梦需要你从点u走到点v之后才能苏醒。由于你正在梦游,所以每到一个结点后,你会在它连出去的边中等概率地选择一条边走过去。为了确保第二天能够准时到校,你要求出每个梦期望经过多少条边才能苏醒。为了避免精度误差,你要输出答案模109+7的结果。
【输入】
第一行两个整数分别代表N和Q。
接下来N−1行,每行两个整数u,v代表树中的一条边。
接下来Q行,每行两个整数代表询问的u,v。
【输出】
一共Q行, 每行一个整数代表答案。
【输入样例】
文本
4 2
1 2
2 3
3 4
1 4
3 4
【输出样例】
【提示】
【数据规模】
对于20%的数据,N≤10。
对于40%的数据,N≤1000。
另有20%的数据,保证给定的树是一条链。
对于100%的数据,N≤100000,Q≤100000。