#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; #define FOR(i,a,b) for(ll i=(a);i<(b);++i) #define ALL(v) (v).begin(), (v).end() #define p(s) cout<<(s)< coins; bool is_triangle(ll a){ for(ll coin : coins){ if(a==coin){ return true; } } return false; } bool is_triangle_two(ll a){ ll L = coins.size(); FOR(i, 0, L){ FOR(j, 0, L){ if(coins[i]+coins[j]==a){ return true; } } } return false; } int main(){ cin.tie(0); ios::sync_with_stdio(false); // input ll N; cin >> N; FOR(i, 1, 5000){ ll coin = i * (i+1) / 2; coins.push_back(coin); } if(is_triangle(N)){ p(1); } else if(is_triangle_two(N)){ p(2); } else{ p(3); } return 0; }