1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def find_nearest_free_building(n, m, s, occupied_intervals):
    occupied = set()
    for l, r in occupied_intervals:
        occupied.update(range(l, r + 1))
    
    p = s
    distance = 0
    while True:
        if p not in occupied:
            return p
        
        if s - distance > 0 and (s - distance) not in occupied:
            return s - distance
        
        if s + distance <= n and (s + distance) not in occupied:
            return s + distance
        
        distance += 1


n, m, s = map(int, input().split())
occupied_intervals = [tuple(map(int, input().split())) for _ in range(m)]


result = find_nearest_free_building(n, m, s, occupied_intervals)
print(result)