bzoj#P3653. 谈笑风生

谈笑风生

题目描述

TT 为一棵有根树,我们做如下的定义:

  • aabbTT 中的两个不同结点。如果 aabb 的祖先,那么称『aabb 不知道高明到哪里去了』。
  • aabbTT 中的两个不同结点。如果 aabb 在树上的距离不超过某个给定常数 xx,那么称『aabb 谈笑风生』。

给定一棵 nn 个结点的有根树 TT,结点的编号为 11nn,根结点为 11 号结点。你需要回答 qq 个询问,询问给定两个整数 ppkk,问有多少个有序三元组 (a,b,c)(a,b,c) 满足:

  1. a,b,ca,b,cTT 中三个不同的点,且 aapp 号结点;
  2. aabb 都比 cc 不知道高明到哪里去了;
  3. aabb 谈笑风生。这里谈笑风生中的常数为给定的 kk

输入格式

输入文件的第一行含有两个正整数 nnqq,分别代表有根树的点数与询问的个数。接下来 n1n-1 行,每行描述一条树上的边。每行含有两个整数 uuvv,代表在结点 uuvv 之间有一条边。

接下来 qq 行,每行描述一个操作。第 ii 行含有两个整数,分别表示第 ii 个询问的 ppkk

输出格式

输出 qq 行,每行对应一个询问,代表询问的答案。

5 3
1 2
1 3
2 4
4 5
2 2
4 1
2 3
3
1
3

数据范围

对于所有数据,保证 1n,q3×1051 \leq n,q \leq 3 \times 10^51pn1 \leq p \leq n1kn1 \leq k \leq n