#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;
}