from collections import * from itertools import * from functools import * from heapq import * import sys,math input = sys.stdin.readline N = int(input()) T = int(input()) A = list(map(int,input().split())) dp = [[False]*(T+2) for _ in range(N)] a = A[0] dp[0][a]=3 for i in range(N-1): a = A[i+1] for j in range(T+1): if not dp[i][j]: continue dp[i+1][min(j+a,T+1)] = 1 for j in range(T+1): if not dp[i][j]: continue if dp[i+1][min(j*a,T+1)]==1: continue dp[i+1][min(j*a,T+1)] = 2 ans = [] now = T for i in range(N-1,0,-1): a = A[i] if dp[i][now]==1: ans.append('+') now -= a else: ans.append('*') now //= a ans.reverse() print(*ans,sep='')