How would I build a recursive function to show all the possibilities of signs in the list of numbers e.g. (5, 3, 12, 9, 15). The list won't change, just the signs for each number.

For example, the results would be:  

(-5, 3, 12, 9, 15)  

(-5, -3, 12, 9, 15)  

(-5, -3, -12, 9, 15)  

(-5, -3, -12, -9, 15) 

And so on, until all the combinations of this list are displayed.

I've tried a few different ways, including trying to adapt code from other similar questions here, but majority of them include changing the list itself. 

Thanks!