【题目描述】
比特山是比特镇的飙车圣地。在比特山上一共有n个广场,编号依次为1到n,这些广场之间通过n1条双向车道直接或间接地连接在一起,形成了一棵树的结构。
因为每条车道的修建时间以及建筑材料都不尽相同,所以可以用两个数字li;ri量化地表示一条车道的承受区间,只有当汽车以不小于li且不大于ri的速度经过这条车道时,才不会对路面造成伤害。
Byteasar最近新买了一辆跑车,他想在比特山飙一次车。Byteasar计划选择两个不同的点S;T,然后在它们树上的最短路径上行驶,且不对上面任意一条车道造成伤害。
Byteasar不喜欢改变速度,所以他会告诉你他的车速。为了挑选出最合适的车速,Byteasar一共会向你询问m次。请帮助他找到一条合法的道路,使得路径上经过的车道数尽可能多。
【输入格式】
从文件speed.in中读入数据。
第一行包含两个正整数n;m,表示广场的总数和询问的总数。
接下来n1行,每行四个正整数ui;vi;li;ri,表示一条连接ui和vi的双向车道,且承受区间为[li;ri]。
接下来m行,每行一个整数qi,分别表示每个询问的车速。
【输出格式】
输出到文件speed.out中。
输出m行,每行一个整数,其中第i行输出车速为qi时的最长路径的长度,如果找不到合法的路径则输出0。
【样例输入】
53
3224
1