#include <iostream>
#define NMAX 100010

using namespace std;

int main() {
	int n,m,i,j,v[NMAX][4], found, aux;
	
	cin>>n>>m;

	for (i=1;i<=m;i++) {
		cin>>v[i][1]>>v[i][2]>>v[i][3];
	}

	for (i=1;i<=n;i++) v[i][0] = -1;
	
	do {
		found = 0;
		for (i=2;i<=m;i++) {
			if ((v[i-1][2] > v[i][2]) || (v[i-1][2] == v[i][2] && v[i-1][1] < v[i][1])) {
				aux = v[i-1][1]; v[i-1][1] = v[i][1]; v[i][1] = aux;
				aux = v[i-1][2]; v[i-1][2] = v[i][2]; v[i][2] = aux;
				aux = v[i-1][3]; v[i-1][3] = v[i][3]; v[i][3] = aux;
				found = 1;
			}
		}
	} while (found == 1);
	
	v[0][0] = 0;
	j = 1;
	for (i=1;i<=m;i++) {
		while (j < v[i][1]) {
			v[j][0] = 0; 
			cout<<v[j][0]<<" ";
			j++;
		}
		while (j <= v[i][2]) {
			if (v[j][0] == -1) {
				v[j][0] = v[j-1][0] xor v[i][3]; 
				cout<<v[j][0]<<" ";
			}
			j++;
		}
	}

	while (j <= n) {
		cout<<0<<" ";
		j++;
	}
	
	return 0;
}