#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, M, N, a;
  cin >> N >> M;
  long long L[M], R[M], D[M], x[N + 1], y[N + 1], c[N + 1];
  for (i = 0; i < M; i++) {
    cin >> L[i] >> R[i] >> D[i];
  }
  a = 0;
  for (i = 0; i < N + 1; i++) {
    x[i] = 0;
    c[i] = 0;
  }
  for (i = 0; i < M; i++) {
    if (c[R[i]] == 0 && c[L[i]] == 0) {
      x[L[i]] = 0;
      x[R[i]] = x[L[i]] + D[i];
      c[R[i]] = 1;
      c[L[i]] = 1;
    } else if (c[R[i]] == 1 && c[L[i]] == 0) {
      x[L[i]] = x[R[i]] - D[i];
      c[L[i]] = 1;
    } else if (c[R[i]] == 0 && c[L[i]] == 1) {
      x[R[i]] = x[L[i]] + D[i];
      c[R[i]] = 1;
    } else {
      if ((x[L[i]] + D[i]) != x[R[i]]) {
        a = 1;
        break;
      }
    }
  }
  if (a == 0) {
    cout << "Yes" << endl;
  } else {
    cout << "No" << endl;
  }
}
