#include using namespace std; int main() { int N; cin >> N; int idx[N]; int L[N], R[N]; for (int i = 0; i < N; i++) { idx[i] = i; cin >> L[i] >> R[i]; } int ans = 0; do { bool ok = true; int l = L[idx[0]]; for (int i = 1; i < N; i++) { int nl = L[idx[i]], nr = R[idx[i]]; if (nr < l) { ok = false; break; } l = max(l, nl); } ans += ok ? 1 : 0; } while (next_permutation(idx, idx + N)); cout << ans << '\n'; }