#include int find(int l, int n){ int i, j, k; for (i = l; i >= (int)(l/3); i--){ for (j = (int)(n/(i+1))-1; j >= 0; j--){ k = l - i - j; if (k <= j){ if ((i+1)*(j+1)*(k+1) == n){ return 1; } } } } return 0; } int main(int argc, char *argv[]){ int n; scanf("%d", &n); int l = 0; while (l*l*l < n){ l++; } if (n == 1 || n == 2){ l--; } int sigh = 0; while (sigh == 0){ sigh = find(l,n); l++; } printf("%d %d\n", l-1,n-1); return 0; }