#include <stdio.h>

int e;

int xy(int ee){
	if(ee==0){
		return 0;
	}
	int min=ee;
	int x,y;
	for(y=0;y*y<=ee;y++){
		x=ee-y*y;
		if(min>x+y){
			min=x+y;
		}
	}
	return min;
}

void solve(){
	int x,y,z;
	for(z=0;z*z*z<=e;z++);
	int min=e;
	for(z--;z>=0;z--){
		if(min>(z+xy(e-z*z*z))){
			min=z+xy(e-z*z*z);
		}
	}
	printf("%d\n",min);
}

int main(void){
	while(scanf("%d",&e),e){
		solve();
	}
	return 0;
}