1 #include <iostream>
2 #include <algorithm>
3 #define MAXN 10005
4
5 using namespace std;
6
7 struct node
8 {
9 int a;
10 int b;
11 };
12 //node _node[MAXN];
13 bool op(node _a,node _b);
14 node _n_1[MAXN];
15 node _n_2[MAXN];
16 int main()
17 {
18 // freopen("acm.acm","r",stdin);
19 int n;
20 int i;
21 int j;
22 int ans;
23 int index_1;
24 int index_2;
25 int cur;
26 while(cin>>n,n)
27 {
28 index_1 = 0;
29 index_2 = 0;
30 ans = 0;
31 cur = -1;
32 for(i = 0; i < n; ++ i)
33 {
34 int a;
35 int b;
36 scanf("%d",&a);
37 scanf("%d",&b);
38 // if(a >= b)
39 // {
40 _n_1[index_1].a = a;
41 _n_1[index_1].b = b;
42 ++ index_1;
43 // }
44 // else
45 // {
46 // _n_2[index_2].a = a;
47 // _n_2[index_2].b = b;
48 // ++ index_2;
49 // }
50 }
51 sort(_n_1,_n_1+index_1,op);
52 // sort(_n_2,_n_2+index_2,op);
53 // for(i = 0; i < index_1; ++ i)
54 // {
55 // cout<<_n_1[i].a<<" "<<_n_1[i].b<<endl;
56 //}
57 if(index_1 > 0)
58 {
59 ++ ans;
60 cur = _n_1[0].a;
61 }
62 for(i = 1; i < index_1; ++ i)
63 {
64 if(_n_1[i].a < cur)
65 {
66 ++ ans;
67 cur = _n_1[i].a;
68 }
69 }
70
71 cout<<ans<<endl;
72 }
73 }
74
75 bool op(node _a,node _b)
76 {
77 if(_a.b == _b.b)
78 {
79 return _a.a < _b.a;
80 }
81 return _a.b < _b.b;
82 }