/*
Aizu 1369
2017年8月11日23:00:33 
*/ 

#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
const int maxn=2e5+10;
struct node{
	int x,y;
}arm[maxn];
int a[maxn][2];
int n,m;
bool cmp(node a,node b){
	return a.x==b.x?a.y>b.y:a.x<b.x;
}

int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++){
		scanf("%d%d",&arm[i].x,&arm[i].y);
	}
	sort(arm+1,arm+1+m,cmp);
	memset(a,0,sizeof(a));
	for(int i=1;i<=m;i++){
		int y=arm[i].y;
		a[y][1]=a[y+1][1]+1;
		a[y+1][0]=a[y][0]+1;
	}
	for(int i=1;i<=n;i++){
		if(i!=n) printf("%d ",a[i][0]+a[i][1]+1);
		else printf("%d\n",a[i][0]+a[i][1]+1);
	}
	return 0;
}
### Prompt

Please create a solution in CPP to the following problem:

Example

Input

4 3
1000 1
2000 2
3000 3


Output

2 3 4 4

### Response

```cpp
/*
Aizu 1369
2017年8月11日23:00:33 
*/ 

#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
const int maxn=2e5+10;
struct node{
	int x,y;
}arm[maxn];
int a[maxn][2];
int n,m;
bool cmp(node a,node b){
	return a.x==b.x?a.y>b.y:a.x<b.x;
}

int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++){
		scanf("%d%d",&arm[i].x,&arm[i].y);
	}
	sort(arm+1,arm+1+m,cmp);
	memset(a,0,sizeof(a));
	for(int i=1;i<=m;i++){
		int y=arm[i].y;
		a[y][1]=a[y+1][1]+1;
		a[y+1][0]=a[y][0]+1;
	}
	for(int i=1;i<=n;i++){
		if(i!=n) printf("%d ",a[i][0]+a[i][1]+1);
		else printf("%d\n",a[i][0]+a[i][1]+1);
	}
	return 0;
}
```