대표 비용
N명의 사람이 있고, 각 사람마다 직접 관계를 맺기 위해 필요한 비용이 정해져 있다. 또한 이미 서로 이어져 있는 관계들이 몇 개 주어진다.
어떤 사람과 직접 관계를 맺으면, 그 사람과 같은 무리에 속한 모든 사람과도 관계를 맺은 것으로 볼 수 있다. 여기서 같은 무리란 주어진 관계들을 따라 이동하여 서로 도달할 수 있는 사람들의 집합을 뜻한다.
가지고 있는 돈은 k원이다. 모든 사람과 관계를 맺기 위해 필요한 최소 비용을 구하려고 한다.
주어진 비용과 관계 정보를 이용했을 때, 모든 사람과 관계를 맺을 수 있는지 판단하고, 가능하다면 필요한 최소 비용을 출력하는 프로그램을 작성하시오.
입력
첫 줄에 사람 수 N, 관계 수 M, 가지고 있는 돈 k가 주어진다.
1 ≤ N ≤ 10,000, 0 ≤ M ≤ 10,000, 1 ≤ k ≤ 10,000,000이다.
두 번째 줄에 각 사람이 요구하는 비용 A_i가 N개 주어진다. 1 ≤ A_i ≤ 10,000이다.
다음 M개의 줄에는 숫자 v, w가 주어진다. 이는 v번 사람과 w번 사람이 서로 관계가 있다는 뜻이다.
자기 자신과의 관계가 주어질 수도 있고, 같은 관계가 여러 번 주어질 수도 있다.
출력
모든 사람과 관계를 맺을 수 있다면 필요한 최소 비용을 출력한다.
불가능하다면 Oh no를 출력한다.
예제 입력 1
5 3 20
10 10 20 20 30
1 3
2 4
5 4
예제 출력 1
20
예제 입력 2
5 3 10
10 10 20 20 30
1 3
2 4
5 4
예제 출력 2
Oh no