rd = lambda: map(int, input().strip().split())  # wczytywanie danych
# liczba skrzyżowań/dróg
n, m = rd()
G = [[] for i in range(n + 1)]
# wczytywanie grafu/planu miasta - para wierzchołek/waga
for i in range(m):
    u, v, w = rd()
    # ignorujemy drogi wychodzące ze szkoły (n) i wchodzące do domu (1)
    if (u != n) and (v != 1):
        G[u].append((v, w))

def CalculateDist():
    dist = [1] * (n + 1)  # nieosiagalne z 1
    dist[1] = 0
    # najdłuższe drogi wg Bellmana-Forda
    for i in range(n):
        corr = False
        for u in range(1, n+1):
            if dist[u] <= 0:  # osiągalne z 1/domu
                for (v, w) in G[u]:
                    if dist[v] > dist[u] - w:
                        dist[v] = dist[u] - w  # można wydłużyć drogę
                        corr = True     # jest poprawa
        if not corr:
            break
    if dist[n] > 0:
        return("BRAK")  # nie ma drogi dom->szkoła (1 do n)
    elif corr:
        return("WAGARY") # skoro ciągle się poprawiało to jest cykl
    else:
        return(-dist[n])

print(CalculateDist())