{ set> li; REP(i, 2000) { const int vy = i + 1; REP(j, 2000) { const int vx = j + 1; int g = gcd(vy, vx); li.emplace(vy/g, vx/g); } } int n = 1000000; wt(n); n -= 2; ll y = 0, x = 0; // ll oy = 0, ox = 0; ll oy = 50000000, ox = 500000000; wt(0-oy, 0-ox); auto it = li.begin(); REP(_, n) { y += it->first; x += it->second; wt(y-oy, x-ox); ++it; } wt(y-oy, 0-ox); cout.flush(); }