#include using namespace std; typedef long long ll; typedef vector vi; typedef vector vl; typedef pair pii; typedef pair pll; typedef int _loop_int; #define REP(i,n) for(_loop_int i=0;i<(_loop_int)(n);++i) #define FOR(i,a,b) for(_loop_int i=(_loop_int)(a);i<(_loop_int)(b);++i) #define FORR(i,a,b) for(_loop_int i=(_loop_int)(b)-1;i>=(_loop_int)(a);--i) #define DEBUG(x) cout<<#x<<": "< P; int main(){ int n; cin>>n; vi po; FOR(k,1,n+1){ int p = k * (k+1) / 2; if(p > n)break; po.push_back(p); } if(po.back() == n){ puts("1"); return 0; } int ans = 3; for(int x : po){ int y = n-x; int id = lower_bound(ALL(po), y) - po.begin(); if(id < po.size() && po[id]==y){ ans = 2; break; } } cout<