#!/usr/bin/python3 n, m = map(int, input().split()) doby = list(map(int, input().split())) # start, doba, počet prerekvizit, pro které je prerekvizitou lektvary = [[0, doba, 0, {}] for doba in doby] for _ in range(m): a, b = map(int, input().split()) lektvary[b-1][2] += 1 lektvary[a-1][3][b-1] = 0 pripraveno = [] for i in range(len(lektvary)): if lektvary[i][2] == 0: pripraveno.append(i) while len(pripraveno): i = pripraveno.pop() start, doba, _, dalsi = lektvary[i] for dalsi_lektvar in dalsi: lektvary[dalsi_lektvar][0] = max(lektvary[dalsi_lektvar][0], start + doba) lektvary[dalsi_lektvar][2] -= 1 if lektvary[dalsi_lektvar][2] == 0: pripraveno.append(dalsi_lektvar) print(" ".join(map(lambda x: str(x[0]), lektvary)))