编程题
### 问题描述
给定 $N$ 个节点 $M$ 条边的有向图,第 $i$ 个节点的点权为 $f_i$,要求找一个点集 $S$,满足如果节点 $x \in S$,那么对于有向图中所有存在的边 $(x,v)$,都有 $v \in S$,最大化并输出点集 $S$ 内所有节点的点权之和。
### 输入格式
第一行包含 $2$ 个正整数 $N,M$。
第二行包含 $N$ 个整数,第 $i$ 个表示 $f_i$。
之后 $M$ 行,每行给定 $u,v$,表示图中的一条有向边。
### 输出格式
输出共一行,输出一个整数,表示答案。
### 样例输入
```text
4 3
1 2 3 -1000
1 4
2 3
2 1
```
### 样例输出
```text
3
```
### 评测数据规模
对于所有测评数据,$1 \leq N,M \leq 500,|f_i| \leq 100000$。