To "function nest" a string, you must: - Treat the first character as a function, and the following characters as the arguments to that function. For example, if the input string was `Hello`, then the first step would be: H(ello) - Then, repeat this same step for every substring. So we get: H(ello) H(e(llo)) H(e(l(lo))) H(e(l(l(o)))) Your task is to write a program or function that "function nests" a string. For example, if the input string was `Hello world!`, then you should output: H(e(l(l(o( (w(o(r(l(d(!))))))))))) The input will only ever contain [printable ASCII](https://en.wikipedia.org/wiki/ASCII#Printable_characters), and you may take the input and the output in any reasonable format. For example, STDIN/STDOUT, function arguments and return value, reading and writing to a file, etc. For simplicity's sake, you may also assume the input will not contain parentheses. Input: Nest a string Output: N(e(s(t( (a( (s(t(r(i(n(g)))))))))))) Input: foobar Output: f(o(o(b(a(r))))) Input: 1234567890 Output: 1(2(3(4(5(6(7(8(9(0))))))))) Input: code-golf Output: c(o(d(e(-(g(o(l(f)))))))) As usual, all of our default rules and loopholes apply, and the shortest answer scored in bytes wins!