#include using namespace std; int n, a[10]; void dfs(int x, int depth, int last) { if (x > n) return; if (x == n) { for (int i = 1; i < depth - 1; i++) { cout << a[i] << '+'; } cout << a[depth - 1] << endl; return; } for (int i = last; i < n; i++) { a[depth] = i; dfs(x + i, depth + 1, i); a[depth] = 0; } return; } int main() { cin >> n; dfs(0, 1, 1); return 0; }