#!/usr/bin/env python3
import sys
import functools
sys.setrecursionlimit(10000000)
n, m = int(input()), 10**9+7
s = '( '+input()+' )'
s = s.replace('( ', 'f(').replace(' ', ',').replace('(', '([').replace(')', '])')

def g(l, op):
    l = [x if isinstance(x, int) else x(not op) for x in l]
    return sum(l) if op else functools.reduce(lambda x,y:x*y%m, l)
def f(l): return lambda op: g(l, op)%m
print(eval(s)(1))
