#include <stdio.h>
#include <math.h>
int line[101],line1[1001];
int main(void){
    int sum,min,i,o;
    for(;min=1000000,scanf("%d",&sum),sum;){
        for(i=0;i<101;i++){
            if(!line[i])
                line[i]=(int)pow(i,3);
            if(line[i]>sum)
                break;
            for(o=0;o<1001;o++){
                if(!line1[o])
                    line1[o]=(int)pow(o,2);
                if(line[i]+line1[o] > sum)
                    break;
                if(sum-line[i]-line1[o]+i+o < min)
                    min=(sum-line[i]-line1[o]+i+o);
            }
        }
        printf("%d\n",min);
    }
    return 0;
}