def ip():return int(input()) def mp():return map(int, input().split()) def lmp():return list(map(int, input().split())) # 岩プロコン2 D No.3262 水色コーダーさん、その問題d問題ですよ?(1<=d<=N) from itertools import permutations N = ip() LR = [lmp() for _ in range(N)] ans = 0 for p in permutations(range(N)): ok = True cur = LR[p[0]][0] for i in range(1, N): l, r = LR[p[i]] if r < cur: ok = False break cur = max(cur, l) if ok: ans += 1 print(ans)