#include using namespace std; int main() { int N; cin >> N; vector L(N); vector R(N); for (int i = 0; i < N; ++i) cin >> L[i] >> R[i]; vector v(N); for (int i = 0; i < N; ++i) v[i] = i; int ans = 0; do { bool f = true; int cur = L[v[0]]; for (int i = 0; i < N - 1; ++i) { if (cur <= R[v[i + 1]]) { cur = max(cur, L[v[i + 1]]); } else { f = false; } } if (f) ans++; } while (next_permutation(v.begin(), v.end())); cout << ans << endl; }