#include <iostream> #include <set> #include <cmath> #include <cstdlib> #include <cstdio> using namespace std; const double eps = 1e-9; double root(double a, double b, double c){ return (-b + sqrt(b * b - 4 * a * c)) / (2 * a); } int main(){ int T; cin >> T; while (T--){ int no, k, m; cin >> no >> k >> m; double ans = 1.0; double t = 1 - cos(2 * M_PI / k); double r1 = root(2 - t, - 2 * t, - t); if (m == 1) printf("%d %.3f %.3f\n", no, r1, 2 * r1 * (k + M_PI)); else{ double cotT = 1 / tan(2 * M_PI / k); //double r2 = r1 + r1 * cos(2 * M_PI / k) + 1 + sqrt(r1 * r1 + r1 * r1 * cotT * cotT + 2 * r1 * r1 *cotT + 2*r1 * cotT ) * cotT; double lo = r1; int gap = 1000; double hi = gap * 10 * r1; double ans = M_PI * (0.5 + 1.0 / k); double r2 = root(tan(ans) * tan(ans), -2*(r1 + tan(ans) + r1 * tan(ans)), 2* r1 + 1); for (int i = 0; i < gap; i++){ double mid = (lo + hi) / 2; if (asin(mid / (r1 + mid)) + acos(r1 / (r1 + mid)) < ans) lo = mid; else hi = mid; } r2 = lo; double sim = r2 / r1; double mr = r2; for (int i = 0; i < m - 2; i++) mr *= sim; printf("%d %.3f %.3f\n", no, mr, 2 * mr * (k + M_PI)); } } }