#include using namespace std; int f(int x) { return x * (x - 1) / 2; } const double MAX = 1e5; const double PI = acos(-1.0); const double THETA = 1e-4; const double EPSILON = 1e-6; int n, a, b; double angle[1510]; int main() { scanf("%d%d%d", &n, &a, &b); int p = 1; while (f(p) < b) ++ p; int k = b - f(p - 1); double R = PI / 3; double A = 2 * asin(0.25); int X = (p - 1) / 2, Y = p - 1 - X; int ra = a - f(X) - f(Y); for (int i = 1; i < p; i ++) { if (i <= X) { angle[i] = i * THETA; } else { int d = min(ra, X); ra -= d; angle[i] = A + (2 * X - d + 0.5) * THETA; } } printf("0 0\n"); for (int i = 1; i < p; i ++) { double radius = (i <= k) ? 20 - EPSILON : 20 + EPSILON; printf("%.12lf %.12lf\n", radius * cos(angle[i]), radius * sin(angle[i])); } for (int i = p + 1; i <= n; i ++) { printf("%.12lf %.12lf\n", 1e4, i * 21.0); } return 0; }