Parades
In The City of Eternal Festivities, there are n street junctions and n - 1 bidirectional streets,each street connecting two of the junctions. Between every two junctions, there is exactly one (direct or indirect) path connecting them. No junction is an endpoint for more than 10 streets.
Every 13th of September (the 256th day of the year), there are many festivities going on in The City. In particular, the citizens want to organize m parades. The parade number i starts at junction u[i]
and ends at v[i]
, following the unique path between the endpoints.
As the mayor of The City, you are responsible for citizens' safety. Therefore you decreed that no two parades are ever allowed to use the same street, though they can have common junctions, or even common endpoints.
To appease your citizens, try to organize as many parades as possible, without breaking the safety regulations.
Input
The first line contains the number of test cases t. The descriptions of the test cases follow:
The first line of each test case contains a single integer: the number of junctions n (2 ≤ n ≤ 1000). Each of the next n - 1 lines contains two integers a, b (1 ≤ a ≠ b ≤ n), denoting that junctions a and b are connected by a street. Each junction has at most 10 streets leaving it.
The next line contains a single integer: the number of planned parades m (0 ≤ m ≤ n * (n - 1) / 2)︀. Each of the next m lines contains two integers u[i]
, v[i]
(1 ≤ u[i]
≠ v[i]
≤ n), meaning that a parade is planned to start at junction u[i]
, and finish at junction v[i]
. No two parades share both endpoints.
Output
For each test case, output one line containing the largest number of parades that can be organized with no street used by more than one parade.