#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; using namespace atcoder; typedef long long ll; typedef pair P; vector

v[100010]; int emx[1000010]; int emx2[1000010]; int main() { int n; cin>>n; int a[100010]; for(int i=0; i>a[i]; } for(int i=0; i1){ v[i].push_back({x, 1}); if(emx[x]<1){ emx2[x]=emx[x]; emx[x]=1; }else if(emx2[x]<1){ emx2[x]=1; } } } using mint=modint1000000007; mint tot=1; for(int i=0; i