#include using namespace std; typedef long long ll; #define int ll int n, res = 3; map vis; signed main() { // freopen("coin.in", "r", stdin); // freopen("coin.out", "w", stdout); ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; for (int i = 1; i * (i + 1) / 2 <= n; i++) { if (i * (i + 1) / 2 == n) { res = 1; break; } vis[i * (i + 1) / 2] = 1; if (vis.count(n - i * (i + 1) / 2)) { res = min(res, 2ll); } } cout << res; }