#include #include #include #include #include #include #include #include using namespace std; typedef long long ll; #define rep(i, n) for(int i = 0; i < (n); i++) template using vi = vector; template using vii = vector>; template using viii = vector>; void chmax(ll & x, ll y) { x = max(x, y); } void rec(int n, vi& ans) { if (n == 0) return; if ((int)ans[n].size()) return; ans[n].push_back('{'); bool ok = false; for (int i = 0; i <= 20; i++) { if (n >> i & 1) { if (ok) ans[n].push_back(','); rec(i, ans); ans[n] += ans[i]; ok = true; } } ans[n].push_back('}'); return; } int main() { int n; cin >> n; vi ans(n + 1); ans[0] = "{}"; rec(n, ans); cout << ans[n] << endl; return 0; }