#include "bits/stdc++.h" #include "atcoder/all" #include "iomanip" #include "algorithm" #include "vector" #include "math.h" #include "bitset" #include "random" #include "set" using namespace std; using namespace atcoder; #define rep(i, a, b) for(int i = a; i < (int)(b); i++) #define rrep(i, a, b) for(int i = a; i >= (int)(b); i--) #define vec vector #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() #define pub push_back #define pob pop_back #define prec setprecision #define ll long long #define ull unsigned long long #define maxE *max_element #define minE *min_element #define p_queue priority_queue using Graph = vec>; using Pi = pair; const ll INF = 9E+18; int main() { int N; cin >> N; vec L(N),R(N); rep(i,0,N) cin >> L[i] >> R[i]; vec p = {0,1,2,3,4,5,6,7}; int cnt = 0; do{ int lim = -1; bool exist = true; rep(i,0,8){ if(lim > R[p[i]]){ exist = false; break; } lim = max(lim,L[p[i]]); } if(exist) cnt++; }while(next_permutation(all(p))); cout << cnt << endl; }