#include<stdio.h>

int cb(int x){
  return x*x*x;
}

void doit(int n){
  int i,j;
  int max=0;
  int z3=cb(n);
  for(i=1;i<=n;i++){
    for(j=i;j<=n;j++){
      int tmp=cb(i)+cb(j);
      if((tmp>max)&&(z3>=tmp)){
	max=tmp;
      }
    }
  }
  printf("%d\n",cb(n)-max);
}

int main(){
  int n;
  scanf("%d",&n);
  while(n!=0){
    doit(n);
    scanf("%d",&n);
  }
  return 0;
}