import sys from collections import * from functools import cache, partial from itertools import * from pprint import pprint from typing import Any, Final try: from icecream import ic except ImportError: # Graceful fallback if IceCream isn't installed. ic = lambda *a: None if not a else (a[0] if len(a) == 1 else a) # noqa debug = partial(print, file=sys.stderr) dpprint = partial(pprint, stream=sys.stderr) sys.setrecursionlimit(10 ** 6) MOD=998244353 N: Final = int(input()) LR = [] for _ in range(N): L, R = map(int, input().split()) LR.append((L, R)) # ic(LR) ans = 0 for P in permutations(range(N)): # ic(P) is_ok = True cur = 0 X = [] for p in P: l, r = LR[p] x = max(cur, l) if x > r: is_ok = False break cur = x X.append(x) if is_ok: # ic(X) # ic([p + 1 for p in P]) ans += 1 print(ans)