"1 đời liêm khiết, ngàn đời liêm khiết..."
Sau khi tổ chức Chi Lăng Esport,
đã rất vui vì Chi Lăng Esport tổ chức thành công rực rỡ mà không gặp một vướng mắc nào. Nhưng còn một vấn đề nữa??? đang tính tạo ra một bản đồ để phục vụ mùa giải Esport thứ 2 với bộ môn CSSGO."CSSGO là thể thao trí tuệ trong đó chia làm ~2~ team ~1~ và ~2~ lần lượt có chức năng là đặt bom và là gỡ bom. Sẽ có một địa điểm được chọn là điểm đặt bom. Nhiệm vụ của team gỡ bom cần phải không cho team đặt bom đặt được bom (a.k.a team gỡ bom cần phải đến trước team đặt bom để def site). Đặc biệt, trò chơi có cách di chuyển độc đáo như sau: ~2~ team sẽ đi lần lượt nhau với team ~2~ được đi trước rồi đến team ~1~ rồi đến team ~2~,...."
Bản đồ của anh được xem như đồ thị cây gồm ~n~ đỉnh ~n-1~ cạnh, trong đó bất kì ~2~ đỉnh nào cũng có đường đi (và là duy nhất). Bây giờ,
có ~q~ giả định, mỗi giả định đưa ra vị trí khởi đầu (là chỉ số đỉnh) của team ~1~ và team ~2~. Anh ấy muốn tính toán xem có bao nhiêu vị trí đặt bom (khác hai vị trí khởi đầu) sao cho team ~2~ đến trước team ~1~ (nếu team ~1~ đến trước team ~2~ thì còn gì là CSSGO nữa 🐧).Input
Dòng đầu chứa ~n, q~ lần lượt là số đỉnh của bản đồ và số lượng giả định
~n-1~ dòng tiếp theo, mỗi dòng tương ứng là ~(u, v)~ tương ứng là hai vị trí ~u, v~ có thể đến được.
~q~ dòng cuối cùng mỗi dòng gồm hai số nguyên ~t_1, t_2~ lần lượt là vị trí của team ~1~ và team ~2~.
Output
In ra ~q~ dòng là số lượng đỉnh thỏa mãn có thể chọn là điểm đặt bom.
Constraints
~n,q \leq 10^5~
~1 \leq t_1, t_2 \leq n \;, t_1 \neq t_2~
Sample Input
8 4
1 2
2 3
2 4
2 5
3 6
4 7
4 8
8 6
8 4
8 2
2 8
Sample Output
4
6
6
2
Note
Ở Sample Test, bảng tạo ra sẽ như thế này (click vào đây nếu bạn không thấy ảnh)
Giả định 1: Số đỉnh mà team ~2~ đến trước là: ~1, 2, 5, 3~
Giả định 2: Số đỉnh mà team ~2~ đến trước là: ~1, 2, 3, 5, 6, 7~
Giả định 4: Số đỉnh mà team ~2~ đến trước là: ~4, 7~