#include int main() { using namespace std; vector> pre_calc(20); const auto set_to_str{[](const auto& s){ string ret{'{'}; for(const auto& c : s)(ret += c) += ","; if(ret.back() == ',')ret.back() = '}'; else ret += '}'; return ret; }}; for(unsigned long i{1}; i < 20; ++i)for(unsigned long j{}; j < 5; ++j)if(1 & (i >> j))pre_calc[i].emplace(set_to_str(pre_calc[j])); unsigned long N; cin >> N; string result{'{'}; for(unsigned long j{}; j < 20; ++j)if(1 & (N >> j))(result += set_to_str(pre_calc[j])) += ","; if(result.back() == ',')result.back() = '}'; else result += '}'; cout << result << endl; return 0; }