import sys input = sys.stdin.readline N,M=map(int,input().split()) A=list(map(int,input().split())) E=[[] for i in range(N)] E_INV=[[] for i in range(N)] for i in range(M): a,b,c=map(int,input().split()) a-=1 b-=1 E[a].append((b,c)) E_INV[b].append(a) USE=[0]*N USE[N-1]=1 Q=[N-1] while Q: x=Q.pop() for to in E_INV[x]: if USE[to]==0: USE[to]=1 Q.append(to) DP=[-1<<60]*N DP[0]=A[0] for tests in range(N+10): flag=0 for i in range(N): if USE[i]==0: continue for to,c in E[i]: if USE[to]==0: continue if DP[to]