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
#include <bits/stdc++.h>
using namespace std;
const int MX=1010;
int m;
long long n,s,best=1e15,l[MX],r[MX];
set<long long> all;
void check(long long x) {
  if (x<1 || x>n || all.count(x)) return;
  long long dst_best=abs(best-s);
  long long dst_x=abs(x-s);
  if (dst_x<dst_best || (dst_x==dst_best && x<best)) best=x;
}
int main() {
  scanf("%lld%d%lld",&n,&m,&s);
  for (int i=0; i<m; i++) {
    scanf("%lld%lld",&l[i],&r[i]);
    all.insert(l[i]);
    all.insert(r[i]);
  }
  for (int i=0; i<m; i++) {
    check(l[i]-1);
    check(r[i]+1);
  }
  printf("%lld\n",best);
  return 0;
}