#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int n;//n个活动
bool flag[100];
struct activity{
int b; //活动开始时间
int e; //活动结束时间
}A[100];
bool cmp(activity a,activity b)
{
return a.e<=b.e;
}
void ActivitySelector()
{
memset(flag,0,sizeof(flag));//初始化为false
sort(A,A+n,cmp); //按活动结束时间递增排序
int preend=0;//前一个兼容活动的结束时间
for(int i=1;i<=n;i++)//扫描所有活动
{
if(A[i].b>=preend)
{
flag[i]=true;
preend=A[i].e;
}
}
}
int main()
{
int count=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>A[i].b>>A[i].e;
}
ActivitySelector();
cout<<"选取的活动:"<<endl;
for(int i=1;i<=n;i++)
{
if(flag[i])
{
cout<<"["<<A[i].b<<","<<A[i].e<<"]"<<endl;
count++;
}
}
cout<<"共有"<<count<<"个活动"<<endl;
return 0;
}