#include <bits/stdc++.h>
using namespace std;
using i64=long long;
mt19937_64 rng(69);
const int mod=1e9+7;
int main()
{
int n;
cin>>n;
int rez=1;
vector<i64>a(2*n+1);
for(int i=1;i<=n;i++)
{
int l,r;
cin>>l>>r;
a[l]=a[r]=rng();
}
i64 cash=0;
set<i64>mp;
mp.insert(0);
for(int i=1;i<=2*n;i++)
{
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... |