#include #include int main() { using namespace std; auto calc = [&](long long d) -> bool { volatile double c = sqrt(d * 4 + 1); volatile long long s = sqrt(c); long long t = static_cast((-1 + s) / 2.0); return t * t + t > d || (t + 1) * (t + 1) + (t + 1) <= d; }; constexpr long long max_t = 999999999; int count = 0; for (int t = max_t; count < 100000 ; t--) { long long d = t * t + t - 1; while (count < 100000 && calc(d)) { cout << d << "\n"; count++; d--; } } }