#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>

using namespace std;
int n,m;
int pa[233333],dis[233333];
pair<int,int> find(int x)
{
	if(pa[x]==0)return make_pair(x,0);
	else
	{
		pair<int,int> tmp=find(pa[x]);
		dis[x]+=tmp.second;pa[x]=tmp.first;
		return make_pair(pa[x],dis[x]);
	}
}
int main()
{
	scanf("%d%d",&n,&m);
	int l,r,d;
	while(m--)
	{
		scanf("%d%d%d",&l,&r,&d);
		pair<int,int> pl=find(l),pr=find(r);
		if(pl.first==pr.first&&pl.second+d!=pr.second)
		{
			return printf("No\n"),0;
		}
		else if(pl.first!=pr.first)
		{
			pa[pr.first]=pl.first;
			dis[pr.first]=d-pr.second+pl.second;
		}
	}
	printf("Yes\n");
	return 0;
}