#include
#include
#include
#include
#include
using namespace std;
int m; int n;
bool visited[300005];
stacks;
vectorgraph[300005];
vectorrev_graph[300005];
void dfs(int node){
visited[node]=true;
for(int i=0; i cycles;
void rev_dfs(int r_node){
visited[r_node]=true;
cycles.push_back(r_node);
for(int i=0; i> n;
for(int i = 0; i < n; i++) {
cin >> cost[i];
}
cin >> m;
for(int i=0; i>a>>b;
a--;
b--;
graph[b].push_back(a);
rev_graph[a].push_back(b);
}
memset(visited, false, sizeof visited);
for(int i=0; i