====== Toll ====== ===== Description ===== You are a truck driver that needs to deliver some cargo from one city to another. To accomplish this you are going to use the road network. A road connects exactly 2 cities. Not all cities are directly connected. For example if you want to get from the city A to the city B but the only roads that exist connect A with C and B with C then you will have to pass through the city C. Between 2 cities there is at most one road. Roads may always be used in both direction. Don't make any further assumptions about the topology of the road network. To pass a road you have to pay a tax of x€. All roads cost the same regardless of their length. How much do you have to pay at least to complete your trip? ===== Input ===== The input begins with a single positive integer T on a line by itself indicating the number of the cases following, each of them as described below. This line is followed by a blank line, and there is also a blank line between two consecutive inputs. Each test case starts with a line containing 5 positive integers: x, n, m, s and t. * x is tax amount you have to pay per road (1≤x≤1000) * n is the number of cities. The cities are number from 1 to n. (1≤n≤10000) * m is the number of roads. (1≤m≤10000) * s is the city you start in. (1≤s≤n) * t is the city you want to get to. (1≤t≤n) After that the test case contains m lines each describing a road using its 2 end cities. ===== Output ===== The output should contain exactly T lines. The t-th line should contain the the amount you have to pay for the t-th testcase or -1 if you can't reach the city t. A line ends per definition with a newline character. ===== Sample Input ===== 3 3 3 2 1 2 1 3 3 2 100 5 6 4 3 1 3 2 4 5 1 3 2 4 1 2 5 42 6 6 1 6 1 2 2 3 3 1 4 5 5 6 6 4 ===== Sample Output ===== 6 200 -1