#include<iostream> using namespace std; int sum=-1; void dfs(int count,int up)//剩余人数,上一层人数 { if(count==0) { sum++; return ; } if(up>count) return ; for(int k=up+1;k<=count;++k) dfs(count-k,k); } int main() { int n; cin>>n; dfs(n,0); cout<<sum<<endl;//不包含全部站成一排的情况,即n return 0; }