For divide and conquer solution of this problem:

```
def solve(input):
if input is digit:
return [input]
ans = [ ]
for x in input:
if x is operator:
left = solve(input[0 ~ x])
right = solve(input[x + 1 ~ len])
for l in left:
for r in right:
ans += [ calc(l, r, x) ]
return ans
```

What is the time complexity of it?