406357: GYM102388 C Snooker
Description
On Planet E, people enjoy playing snooker!
Unlike snooker on Earth, there is only one ball on Planet E, and no pockets on the table. Let the length of the table be $$$m$$$ and the width of the table be $$$n$$$. Then the positions on the table can be represented by $$$(x, y)$$$ where $$$0 \le x \le m$$$ and $$$0 \le y \le n$$$. We view the ball as a point without radius.
The goal is to move the ball from $$$(x_0, y_0)$$$ to $$$(x_1, y_1)$$$, with exactly $$$k$$$ bounces from the table walls.
This figure demonstrates 2 bounces. The ball moves in straight line and the reflection angle must be the same. Note that if the ball moves to a corner, it will move back in the exactly opposite direction with 2 bounces. See testcase 2 in the sample.
Can you help the people on Planet E to find the shortest distance the ball has to travel to achieve the goal?
InputThe first line contains a positive integer $$$T$$$ ($$$T \le 100$$$), the number of testcases.
Each testcase contains 7 integers $$$m, n, x_0, y_0, x_1, y_1, k$$$ ($$$2 \le m \le 100$$$, $$$2 \le n \le 100$$$, $$$0 < x_i < m$$$ and $$$0 < y_i < n$$$ for $$$i = 0, 1$$$, and $$$0 \le k \le 100$$$), representing the table size (length $$$m$$$, width $$$n$$$) and the goal $$$(x_0, y_0)$$$ to $$$(x_1, y_1)$$$ with exactly $$$k$$$ bounces.
OutputFor each testcase, output a single line consisting of the shortest distance the ball has to travel, corrected to $$$2$$$ decimal places.
ExampleInput4 100 100 1 1 1 1 0 100 100 1 2 1 2 2 100 100 1 1 1 1 3 100 50 1 2 3 4 5Output
0.00 4.47 200.01 198.04