#include using namespace std; using ll = long long; #define rep(i, s, e) for (int i = (int)(s); i < (int)(e); ++i) #define all(a) (a).begin(),(a).end() int main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); int N; cin >> N; vector L(N), R(N); rep(i, 0, N) cin >> L[i] >> R[i]; vector P(N); rep(i, 0, N) P[i] = i; int ans = 0; do { int t = 0; bool can = true; rep(i, 0, N) { if (R[P[i]] < t) can = false; else t = max(t, L[P[i]]); } if (can) ++ans; } while (next_permutation(all(P))); cout << ans << '\n'; }