#include <iostream>
using namespace std;
#include<deque>
#include<vector>
#include<algorithm>
int main(){
int n,k;
cin>>n>>k;
int l=1;
int r=0;
int re=0;
deque<int>q;
while(k--){
int ln,rn;
cin>>ln>>rn;
if(r<rn){
for(int i=r+1;i<=rn;i++){
if(re==0){
q.push_back(i);
}
else{
q.push_front(i);
}
}
}
if(l<ln){
for(int i=l;i<ln;i++){
if(re==0){
cout<<q.front()<<' ';
q.pop_front();
}
else {
cout<<q.back()<<' ';
q.pop_back();
}
}
}
re^=1;
r=rn;
l=ln;
}
if(!q.empty()){
if(re==0){
for(auto it=q.begin();it!=q.end();it++){
cout<<*it<<' ';
}}
else{
for(auto it=q.rbegin();it!=q.rend();it++){
cout<<*it<<' ';
}
}
}
if(r<n){
for(int i=r+1;i<=n;i++){
cout<<i<<' ';
}
}
return 0;
}