#include using namespace std; using lint = long long; template using V = vector; template using VV = V< V >; int main() { cin.tie(nullptr); ios::sync_with_stdio(false); int n, a, b; cin >> n >> a >> b; V x; auto cnt = [&](double v = 1e10) -> pair { x.push_back(v); int s = 0, t = 0, m = x.size(); int r = 0; for (int l = 0; l < m; ++l) { while (r < m and x[r] - x[l] <= 10) { ++r; } s += r - l - 1; } r = 0; for (int l = 0; l < m; ++l) { while (r < m and x[r] - x[l] <= 20) { ++r; } t += r - l - 1; } x.pop_back(); return {s, t}; }; auto chk = [&](double th) -> bool { V().swap(x); x.push_back(0); for (int i = 1; i < n; ++i) { double ng = x.back() + th, ok = 1e5; for (int _ = 0; _ < 100; ++_) { double mid = (ng + ok) / 2; int s, t; tie(s, t) = cnt(mid); (s <= a and t <= b ? ok : ng) = mid; } x.push_back(ok); } int s, t; tie(s, t) = cnt(); cerr << s << ' ' << t << '\n'; if (s == a and t == b) { for (auto e : x) { cout << e << ' ' << 0 << '\n'; } exit(0); } return s >= a; }; double ok = 1e-10, ng = 30; for (int _ = 0; _ < 100; ++_) { double mid = (ok + ng) / 2; (chk(mid) ? ok : ng) = mid; } }