// Adam Campbell
// 3/11/05
// Solution to COP 3530 Recitation #6 Problem #1 Programming Problem

import java.io.*;
import java.util.*;

public class Rec6Prob1{

	public static void main(String[] args) throws Exception{
	
		BufferedReader fileReader = new BufferedReader(new FileReader("schedule.in"));
		StringTokenizer tokenizer;
		int n; // number of events
		Event[] events;
		int numEventsScheduled; // the final answer
		int finishTimeLastEvent; 
		
		// read in the number of events
		n = Integer.parseInt(fileReader.readLine());
		
		events = new Event[n];
		
		// read in the events
		for(int i = 0; i < n; i++){
			tokenizer = new StringTokenizer(fileReader.readLine());
			events[i] = new Event(Integer.parseInt(tokenizer.nextToken()), Integer.parseInt(tokenizer.nextToken()));
		}
		
		// sort the events by finish time
		Arrays.sort(events);
		
		numEventsScheduled = 0;
		finishTimeLastEvent = 0;
		
		// take the greedy approach to solving the problem
		for(int i = 0; i < n; i++){
			if(events[i].start >= finishTimeLastEvent){
				numEventsScheduled++;
				finishTimeLastEvent = events[i].finish;
			}
		}
		
		System.out.println("A maximum of " + numEventsScheduled + " events can be scheduled in a single room.");
	}
	
	private static class Event implements Comparable{
	
		int start, finish;
		
		public Event(int s, int f){
			start = s;
			finish = f;
		}
		
		// sort by finish time
		public int compareTo(Object obj){
		
			Event that = (Event)obj;
			
			if(this.finish < that.finish) return -1;
			if(this.finish > that.finish) return 1;
			
			return 0;
			
		}
		
	}
	
}
