func_code_string: #include <bits/stdc++.h>   using namespace std;   long long rdtsc() {     long long tmp;     asm( rdtsc  :  =A (tmp));     return tmp;   }   inline int myrand() { return abs((rand() << 15) ^ rand()); }   inline int rnd(int x) { return myrand() % x; }   const int INF = (int)1.01e9;   const long double EPS = 1e-9;   void precalc() {}   long long x;   bool read() {     if (scanf( %lld , &x) < 1) {       return 0;     }     return 1;   }   void solve() {     vector<pair<long long, long long> > ans;     for (long long t = 1;; ++t) {       long long a = t * (t + 1) / 2;       long long b = a * (2 * t + 1) / 3;       if (b > x) {         break;       }       long long left = x - b;       if (left % a) {         continue;       }       left /= a;       ans.push_back(make_pair(t, t + left));       if (left) {         ans.push_back(make_pair(t + left, t));       }     }     printf( %d n , ((int)(ans).size()));     sort(ans.begin(), ans.end());     for (int i = 0; i < ((int)(ans).size()); ++i) {       printf(            %lld                           %lld              n ,           ans[i].first, ans[i].second);     }   }   int main() {     srand(rdtsc());     precalc();     while (1) {       if (!read()) {         break;       }       solve();     }     return 0;   }   