// AOJ 1369: Distribution Center
// 2017.11.3 bal4u@uu

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct { int x, y; } PP;
PP p[100002];
int l[200002], r[200002];

char buf[20], *bp;
int getint()
{
	int n = 0;
	while (*bp >= '0') n = (n<<3) + (n<<1) + (*bp++ & 0xf);
	return n;
}

int cmp(PP *a, PP *b) { return a->x - b->x; }

int main()
{
	int n, m, i;
	PP *pt;

	fgets(bp=buf, 20, stdin);
	n = getint(), bp++, m = getint();
	pt = p; i = m; while (i--) {
		fgets(bp=buf, 20, stdin);
		pt->x = getint(), bp++, pt->y = getint(), pt++;
	}
	qsort(p, m, sizeof(PP), cmp);
	for (i = 1; i <= n; i++) l[i] = i;
	memcpy(r, l, sizeof(int)*(n+1));

	pt = p; while (m--) {
		i = pt->y, pt++;
		l[i+1] = l[i], r[i] = r[i+1];
	}
	printf("%d", r[1]-l[1]+1);
	for (i = 2; i <= n; i++) printf(" %d", r[i]-l[i]+1);
	putchar('\n');
	return 0;
}