#include <bits/stdc++.h>
using namespace std;
int getAns() {
int dp[65][2025];
for(int i = 0; i <= 64; i++) {
for(int j = 0; j <= 2022; j++) {
dp[i][j] = 1e9;
}
}
dp[0][0] = 0;
for(int i = 1; i <= 64; i++) {
int v = i * (i - 1) / 2, g = i;
for(int j = 0; j <= 2022; j++) {
dp[i][j] = min(dp[i][j], dp[i - 1][j]);
if(j >= v) dp[i][j] = min(dp[i][j], dp[i][j - v] + g);
}
}
return dp[64][2022];
}
int main() {
cout << getAns();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKaW50IGdldEFucygpIHsKICAgIGludCBkcFs2NV1bMjAyNV07CiAgICBmb3IoaW50IGkgPSAwOyBpIDw9IDY0OyBpKyspIHsKICAgICAgICBmb3IoaW50IGogPSAwOyBqIDw9IDIwMjI7IGorKykgewogICAgICAgICAgICBkcFtpXVtqXSA9IDFlOTsKICAgICAgICB9CiAgICB9CgogICAgZHBbMF1bMF0gPSAwOwogICAgZm9yKGludCBpID0gMTsgaSA8PSA2NDsgaSsrKSB7CiAgICAgICAgaW50IHYgPSBpICogKGkgLSAxKSAvIDIsIGcgPSBpOwogICAgICAgIGZvcihpbnQgaiA9IDA7IGogPD0gMjAyMjsgaisrKSB7CiAgICAgICAgICAgIGRwW2ldW2pdID0gbWluKGRwW2ldW2pdLCBkcFtpIC0gMV1bal0pOwogICAgICAgICAgICBpZihqID49IHYpIGRwW2ldW2pdID0gbWluKGRwW2ldW2pdLCBkcFtpXVtqIC0gdl0gKyBnKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gZHBbNjRdWzIwMjJdOwp9CgppbnQgbWFpbigpIHsKICAgIGNvdXQgPDwgZ2V0QW5zKCk7CiAgICByZXR1cm4gMDsKfQ==