while True: try: n = int(input()) coin = [int(i) for i in input().split()] # 錢幣面額 mx = int(input()) # 總金額 r = [] # 結果的串列 def fn(f): h = len(f) # 一開始是空串列 if h == n: if sum([a*b for a, b in zip(f, coin)]) == mx: # 將組合後的串列兩兩相乘 r.append(f) # 如果等於總額,就將結果存入 r 串列中 return # 串列如果長度已滿,就 return # print(f) # 不清楚的話可以印出來看看 for i in range(mx//coin[h]+1): fn(f+[i]) # 逐步往串列中添加資料 # print(f+[i]) # 不清楚的話可以印出來看看 fn([]) # 一開始是空串列 r.sort() for i in r: print('(', end='') print(*i, sep =',', end=')') # 打散串列後印出 print() except: break