#include <stdio.h>

int a,i,x,y,z=0;
int num[100000];
int min = 1000006;
int result[100000];


int main(void) {
  while(scanf("%d",&a) && a!=0){
  num[i]=a;
  i++;
}

for(int k=0;k<i;k++){
  //printf("y\n");
  for(int y=0;y*y<=num[k];y++){
    //printf("y\n");
    for(int z=0;z*z*z <= num[k];z++){
      //printf("y\n");
      x = num[k]-y*y-z*z*z;
      //printf("%d\n",x);
      if(x>=0){
        if(x+y+z<=min) min=x+y+z;
        else;
      }
      else;
    }
  }
  result[k]=min;
  min=1000006;
}

//printf("%d\n",result[3]);
//  printf("%d\n",i);
for(int k=0;k<i;k++){
  printf("%d\n",result[k]);
}

  return 0;
}

