#include <stdio.h>

int e;
int func(int y, int z)
{
    return e - (y * y) - (z * z * z) + y + z;
}

int main(void)
{
    while(1){
        int i, j;
        int min = 1000000;

        scanf("%d", &e);

        if(e == 0)
            break;

        for(i = 0; i <= e; i++){
            for(j = 0; j <= e; j++){
                if(i * i + j * j * j <= e){
                    int temp = func(i, j);
                    if(min > temp){
                        min = temp;
                    }
                }
            }
        }

        printf("%d\n", min);
    }

    return 0;
}