#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; using mint=modint1000000007; bool e[11000][11000]; int main() { int n, m; cin>>n>>m; mint a[100010]; for(int i=2; i<=n; i++){ int ai; cin>>ai; ai--; a[i]=mint(ai); } int q; cin>>q; vector v; for(int i=2; i>x[i]>>y[i]; v.push_back(x[i]); v.push_back(y[i]); } sort(v.begin(), v.end()); v.erase(unique(v.begin(), v.end()), v.end()); int l=v.size(); for(int i=0; i