#include #define rep(i,n)for(int i=0;i<(n);i++) using namespace std; int main(){ vectorv; for(int i=1;i<5000;i++){ int k=i*(i+1)/2; v.push_back(k); } int n;scanf("%d",&n); int Min=3; for(auto i:v){ if(i==n)Min=1; for(auto j:v){ if(i+j>n)break; if(i+j==n)Min=min(Min,2); } } cout<