import itertools def IM(): return map(int, input().split()) N = int(input()) P = [] for i in range(N): p = tuple(IM()) P.append(p) ans = 0 for p in itertools.permutations(list(range(N))): now_mindiff = P[p[0]][0] judge = 1 for j in range(1, N): if P[p[j]][1] < now_mindiff: judge = 0 break now_mindiff = max(P[p[j]][0], now_mindiff) ans += judge print(ans)