#include int main() { int n, i, j, result; while (1) { scanf("%d", &n); if (n == 0) { break; } result = 0; for (i = 0; i < 60; i++) { if (i * i * i > n) { break; } for (j = 0; j < 100; j++) { if (i * i * i + ((j * (j+1) * (j+2)) / 6) > n) { break; } if (i * i * i + ((j * (j+1) * (j+2)) / 6) > result) { result = i * i * i + ((j * (j+1) * (j+2)) / 6); } } } printf("%d\n", result); } return 0; }