RT
#include <cstdio>
int c[105], f[100005];
int min(int x, int y)
{
return x < y ? x : y;
}
int main()
{
int n;
scanf("%d", &n);
for (int i = 1; i <= 18; i++)
c[i] = i * i * i * i, f[c[i]] = 1;
for (int i = 1; i <= n; i++)
{
f[i] = 2147483647;
for (int j = 1; j <= 18; j++)
{
// if (i - c[j] >= 0 && f[i - c[j]] != 2147483647)
// f[i] = min(f[i], f[i - c[j]] + 1);
if (i - c[j] >= 0)
{
if (f[i - c[j]] != 2147483647)
f[i] = min(f[i], f[i - c[j]] + 1);
}
}
}
printf("%d\n", f[n]);
return 0;
}