func_code_string: #include <bits/stdc++.h>   using namespace std;   vector<long long> arr;   pair<int, long long> doit(long long n) {     if (n <= 7) return make_pair(n, n);     vector<long long>::iterator ite = upper_bound(arr.begin(), arr.end(), n);     int ind = (ite - arr.begin());     ind--;     pair<int, long long> te1 = doit(n - arr[ind]);     pair<int, long long> te2 = doit(arr[ind] - 1 - arr[ind - 1]);     if (te1.first > te2.first)       return make_pair(te1.first + 1, te1.second + arr[ind]);     if (te1.first < te2.first)       return make_pair(te2.first + 1, te2.second + arr[ind - 1]);     if (te1.second + arr[ind] > te2.second + arr[ind - 1])       return make_pair(te1.first + 1, te1.second + arr[ind]);     return make_pair(te2.first + 1, te2.second + arr[ind - 1]);   }   int main() {     for (long long i = 0; i <= 100001; i++) {       arr.push_back(i * i * i);     }     long long m;     cin >> m;     pair<int, long long> temp = doit(m);     cout << temp.first <<     << temp.second;     return 0;   }   