Cho một cây gồm đỉnh, đánh số từ đến . Có cặp đỉnh ; mỗi cặp xác định đường đi đơn duy nhất giữa hai đỉnh đó.
Một đỉnh được xem là nằm trên đường đi nếu nó xuất hiện ở bất kỳ vị trí nào của đường, kể cả hai đầu mút. Với mỗi đỉnh , hãy đếm có bao nhiêu trong đường đi chứa .
Input
- Dòng đầu chứa hai số nguyên .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên , biểu diễn một cạnh của cây.
- dòng cuối, mỗi dòng chứa hai số nguyên , biểu diễn một đường đi cần tính. Hai đầu mút được phép trùng nhau.
Output
- In số nguyên trên một dòng. Số thứ là số đường đi chứa đỉnh , với .
Constraints
- .
- ; trên mỗi cạnh.
- cạnh tạo thành một cây.
- Input chỉ chứa một test case.
Scoring
- Subtask ( điểm): .
- Subtask ( điểm): không có giới hạn bổ sung.
Example
Test 1
Input
7 5 1 2 1 3 2 4 2 5 3 6 6 7 4 5 4 7 2 6 3 3 5 7
Output
3 4 4 2 2 3 2
Giải thích: Đỉnh thuộc các đường và , nên có kết quả . Đường chỉ đóng góp cho riêng đỉnh .