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
27
if __name__ == '__main__':
    n, m, s = map(int, input().split(' '))
    ranges = []
    for _ in range(m):
        l, r = map(int, input().split(' '))
        ranges.append((l, r))
    ranges.sort(key=lambda e: e[0])
    free = []
    if ranges[0][0] != 1:
        free.append((1, ranges[0][1] - 1))
    if ranges[-1][1] != n:
        free.append((ranges[-1][1] + 1, n))
    
    for idx in range(len(ranges) - 1):
        if ranges[idx][1] + 1 <= ranges[idx + 1][0] - 1:
            free.append((ranges[idx][1] + 1, ranges[idx + 1][0] - 1))
    
    
    distances = []
    for f in free:
        distances.append((f[0], (abs(s - f[0]))))
        distances.append((f[1], abs(s - f[1])))
    
    distances.sort(key=lambda e: e[1])
    
    filter(lambda e: e[1] == distances[0][0], distances)
    print(distances[0][0])