### 问题描述
小明被挑选去参加一个 ACM 比赛。他的任务是解决一个很特别的问题:给定一个整数数组,但是只能通过交换任意两个数的方式来排序。听起来很简单对吧?但是这个问题的难点在于,只有某些数字是可以交换的。例如,数字 7 和数字 3 可以交换,但是数字 5 可能不能和任何数字交换。
你的任务是,给定一个整数数组和一个允许交换的数字对列表,找到可能的最大排序数组。
例如,如果我们有一个数组 [2,3,5,7] 和一个交换列表 (3,7),(5,2),我们可以先交换 3 和 7 得到 [2,7,5,3],再交换 5 和 2 得到 [5,7,2,3],最终得到可能的排序最大的数组。
第一行包含一个整数 n,(1≤n≤500),表示数组中整数的个数。
第二行包含 n 个整数 ai,(1≤ai≤109),表示整数数组。
第三行包含一个整数 m,(0≤m≤103),表示交换列表的对数。
接下来的 m 行,每行包含两个整数 bi,ci,(1≤bi,ci≤109),表示可以交换的整数对,题目保证每对整数都存在于数组中。
输出一行,包含 n 个整数,表示最大排序数组。
4
2 3 5 7
2
3 7
5 2
5 7 2 3
1≤n≤500,1≤ai,bi,ci≤109,0≤m≤103。