#include <bits/stdc++.h>
using namespace std;
struct Node
{
int xi;
int yi;
int wi;
};
bool cmp(Node a,Node b)
{
if(a.xi>b.xi)return false;
else if(a.xi==b.xi)
{
if(a.yi>b.yi)return false;
}
return true;
}
Node n[100001];
int maxn[100001],nb[100001];
int main()
{
long int i,c,m,j;
cin>>c>>m;
for(i=1;i<=m;i++)
{
cin>>n[i].xi>>n[i].yi;
n[i].wi=0;
}
for(i=1;i<=c;i++)maxn[i]=i;
sort(n,n+m+1,cmp);
j=1;
for(i=1;i<=m;i++)
{
if(i!=1)
{
if(n[i].xi!=n[i-1].xi)j++;
}
if(n[i].xi<n[i].yi&&maxn[j]<n[i].yi)
{
maxn[j]=n[i].yi;
}
}
for(i=1;i<=c;i++)
{
nb[i]=maxn[i];
if(nb[i]<=c)
{
nb[i]=maxn[nb[i]];
}
}
for(i=1;i<=c;i++)cout<<nb[i]<<" ";
return 0;
}