#include using namespace std; // #include // using namespace atcoder; // using mint = modint998244353; using ll = unsigned long long; #define fix(x) fixed << setprecision(x) #define rep(i, n) for(int i = 0; i < n; ++i) #define all(x) (x).begin(),(x).end() templatebool chmin(T&a, const T&b){if(a>b){a=b;return 1;}return 0;} templatebool chmax(T&a, const T&b){if(a> n; vector tot(1,0); for(ll i=1;i*i*i<=n;++i){ tot.emplace_back(i*i*i); tot[i] += tot[i-1]; } // cout << tot.back() << '\n'; map mp; vector> ans; rep(i,tot.size()){ if(mp.count(tot[i]-n)){ ans.emplace_back(mp[tot[i]-n], i); } mp[tot[i]] = i; } cout << ans.size() << '\n'; for(auto [p,q]:ans) cout << p+1 << " " << q << '\n'; return 0; }