#include <bits/stdc++.h>
using namespace std;
using i64=long long;
#define int long long
mt19937_64 rng(69);
const int mod=1e9+7;
signed main()
{
int n;
cin>>n;
int rez=1;
vector<i64>a(2*n+1),cnt(2*n+1,0);
for(int i=1;i<=n;i++)
{
int l,r;
cin>>l>>r;
cnt[l]++;
cnt[r]--;
a[l]=a[r]=rng();
}
i64 cash=0;
set<int>mp;
mp.insert(0);
for(int i=1;i<=2*n;i++)
{
cnt[i]+=cnt[i-1];
rez*=(cnt[i]<=2);
cash^=a[i];
if(mp.count(cash))
{
rez*=2;
rez%=mod;
}
mp.insert(cash);
}
cout<<rez;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |