#include using namespace std::literals::string_literals; using i64 = std::int_fast64_t; using std::cerr; using std::cin; using std::cout; using std::endl; #if defined(DONLINE_JUDGE) #define NDEBUG #elif defined(ONLINE_JUDGE) #define NDEBUG #endif template std::vector make_v(size_t a) { return std::vector(a); } template auto make_v(size_t a, Ts... ts) { return std::vector(ts...))>(a, make_v(ts...)); } int main() { i64 n; scanf("%lld", &n); std::string ans = ""; while (n != 1) { if (n % 2) { if (ans.size() % 2) { ans += '+'; n = 3 * n + 1; } else { ans += '-'; n = 3 * n - 1; } } else { ans += '/'; n /= 2; } } printf("%d\n%s\n", ans.size(), ans.c_str()); return 0; }