{"trustable":true,"prependHtml":"\u003cstyle type\u003d\u0027text/css\u0027\u003e\n .input, .output {\n border: 1px solid #888888;\n }\n .output {\n margin-bottom: 1em;\n position: relative;\n top: -1px;\n }\n .output pre, .input pre {\n background-color: #EFEFEF;\n line-height: 1.25em;\n margin: 0;\n padding: 0.25em;\n }\n \u003c/style\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"//codeforces.org/s/96598/css/problem-statement.css\" type\u003d\"text/css\" /\u003e\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript type\u003d\"text/javascript\" async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS_HTML-full\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"HTML","content":"\u003cp\u003eBahiyyah has a convex polygon with $$$n$$$ vertices $$$P_0, P_1, \\cdots, P_{n-1}$$$ in the counterclockwise order. Two vertices with consecutive indexes are adjacent, and besides, $$$P_0$$$ and $$$P_{n-1}$$$ are adjacent. She also assigns a point $$$Q$$$ inside the polygon which may appear on the border.\u003c/p\u003e\u003cp\u003eNow, Bahiyyah decides to roll the polygon along a straight line and calculate the length of the trajectory (or track) of point $$$Q$$$.\u003c/p\u003e\u003cp\u003eTo help clarify, we suppose $$$P_n \u003d P_0, P_{n+1} \u003d P_1$$$ and assume the edge between $$$P_0$$$ and $$$P_1$$$ is lying on the line at first. At that point when the edge between $$$P_{i-1}$$$ and $$$P_i$$$ lies on the line, Bahiyyah rolls the polygon forward rotating the polygon along the vertex $$$P_i$$$ until the next edge (which is between $$$P_i$$$ and $$$P_{i+1}$$$) meets the line. She will stop the rolling when the edge between $$$P_n$$$ and $$$P_{n+1}$$$ (which is same as the edge between $$$P_0$$$ and $$$P_1$$$) meets the line again.\u003c/p\u003e"}},{"title":"Input","value":{"format":"HTML","content":"\u003cp\u003eThe input contains several test cases, and the first line is a positive integer $$$T$$$ indicating the number of test cases which is up to $$$50$$$.\u003c/p\u003e\u003cp\u003eFor each test case, the first line contains an integer $$$n~(3\\le n \\le 50)$$$ indicating the number of vertices of the given convex polygon. Following $$$n$$$ lines describe vertices of the polygon in the counterclockwise order. The $$$i$$$-th line of them contains two integers $$$x_{i-1}$$$ and $$$y_{i-1}$$$, which are the coordinates of point $$$P_{i-1}$$$. The last line contains two integers $$$x_Q$$$ and $$$y_Q$$$, which are the coordinates of point $$$Q$$$.\u003c/p\u003e\u003cp\u003eWe guarantee that all coordinates are in the range of $$$-10^3$$$ to $$$10^3$$$, and point $$$Q$$$ is located inside the polygon or lies on its border.\u003c/p\u003e"}},{"title":"Output","value":{"format":"HTML","content":"\u003cp\u003eFor each test case, output a line containing \u003cspan class\u003d\"tex-font-style-tt\"\u003eCase #x: y\u003c/span\u003e, where \u003cspan class\u003d\"tex-font-style-tt\"\u003ex\u003c/span\u003e is the test case number starting from $$$1$$$, and \u003cspan class\u003d\"tex-font-style-tt\"\u003ey\u003c/span\u003e is the length of the trajectory of the point $$$Q$$$ rounded to $$$3$$$ places. We guarantee that $$$4$$$-th place after the decimal point in the precise answer would not be $$$4$$$ or $$$5$$$.\u003c/p\u003e"}},{"title":"Examples","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e4\n4\n0 0\n2 0\n2 2\n0 2\n1 1\n3\n0 0\n2 1\n1 2\n1 1\n5\n0 0\n1 0\n2 2\n1 3\n-1 2\n0 0\n6\n0 0\n3 0\n4 1\n2 2\n1 2\n-1 1\n1 0\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003eCase #1: 8.886\nCase #2: 7.318\nCase #3: 12.102\nCase #4: 14.537\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n"}}]}