#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define official #ifdef official #define cin inF #define cout outF #endif ifstream inF("promotion.in"); ofstream outF("promotion.out"); const int MAX_N=100100; vector ne[MAX_N]; long long s[MAX_N]; int w[MAX_N]; long long maxs[MAX_N]; int n,m; void input() { cin>>n>>m; int a,b; for (int i=0;i>s[i]; } for (int i=0;i>a>>b; --a; --b; ne[b].push_back(a); } } void output() { for (int i=0;is[b]; } void DFS(int a, long long cs) { maxs[a]=cs; for (int i=0;i