#include #include using namespace std; const int N = 4510; int n, a[N], cnt; unordered_set s; int main() { for (int i = 1; i < N; ++i) { a[i] = i * (i + 1) / 2; s.insert(a[i]); } scanf("%d", &n); cnt = 3; if (s.count(n)) cnt = 1; else { for (int i = 1; i < N; ++i) { if (n - a[i] < 0) break; if (s.count(n - a[i])) { cnt = 2; break; } } } printf("%d\n", cnt); return 0; }