from heapq import * n = int(input()) L = [0] * n R = [0] * n for i in range(n): L[i], R[i] = map(int, input().split()) R_ = sorted(R) ma = min(r - i for i, r in enumerate(R_)) L_ = sorted(L) mi = max(l - i for i, l in enumerate(L_)) def ok(x): for i in range(n): L[i] -= x R[i] -= x L[i] = max(L[i], 0) R[i] = min(R[i], n - 1) add = [[] for _ in range(n)] for l, r in zip(L, R): add[l].append(r) hq = [] for i in range(n): for x in add[i]: heappush(hq, x) while hq and hq[0] < i: heappop(hq) if not hq: return False heappop(hq) return True if mi <= ma and ok(ma): print(ma - mi + 1) else: print(0)