def main():
    from collections import deque, defaultdict
    n, m = map(int, input().split())
    g = [[] for _ in range(n + 1)]
    ref = defaultdict(list)
    sta = 0

    for i in range(m):
        a, b, k = map(int, input().split())
        if i == 0:
            sta = a
        g[a].append(b)
        g[b].append(a)
        ref[(a, b)] = k

    q = deque([sta])
    visited = set()
    dist = [0] * (n + 1)
    dist[sta] = 1

    while q:
        v = q.pop()
        visited.add(v)
        for x in g[v]:
            if x not in visited:
                if ref[(v, x)] != []:
                    y = ref[(v, x)]
                    if not dist[x]:
                        dist[x] = dist[v] + y
                    elif not dist[v]:
                        dist[v] = dist[x] - y
                    elif dist[x] != dist[v] + y:
                        print("No")
                        exit()
                else:
                    y = ref[(x, v)]
                    if not dist[v]:
                        dist[v] = dist[x] + y
                    elif not dist[x]:
                        dist[x] = dist[v] - y
                    elif dist[v] != dist[x] + y:
                        print("No")
                        exit()
                q.append(x)
    print("Yes")
if __name__ == '__main__':
    main()