#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef unsigned long long int ull;
#define IOS ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
typedef pair<int,int>pr;
#define mp make_pair
#define all(i) i.begin() , i.end()
#define ft first
#define sn second
#define pb push_back
#define eps 1e-9
#define SP cout<<fixed<<setprecision(10);
#define inf 100000
#define MAXN 1010
const int mod = 1e9+7;
#define dbg cout<<"rony\n";
#define en "\n"
vector<int>g[MAXN];
int vis[MAXN];
int a[MAXN];
vector<int>ind,val;
void dfs(int nd)
{
vis[nd] = 1;
ind.pb(nd);
val.pb(a[nd]);
for(auto i:g[nd])
{
if(vis[i] == 1) continue;
dfs(i);
}
}
void solve()
{
int n,m;
cin >> n >> m;
for(int i = 1;i <= n;i++) cin >> a[i];
for(int i = 1;i <= m;i++)
{
int x,y;
cin >> x >> y;
g[x].pb(y);
g[y].pb(x);
}
for(int i = 1;i <= n;i++)
{
if(vis[i] == 0)
{
ind.clear();
val.clear();
dfs(i);
sort(all(ind));
sort(all(val));
for(int j = 0;j < ind.size();j++)
{
a[ind[j]] = val[j];
}
}
}
for(int i = 1;i <= n;i++)
cout<<a[i]<<" ";
cout<<en;
for(int i = 1;i <= n;i++)
{
g[i].clear();
vis[i] = 0;
}
}
int main()
{
IOS;
int t;
cin >> t;
//t = 1;
while ( t-- )
{
solve();
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnR5cGVkZWYgbG9uZyBsb25nIGludCBsbDsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHVsbDsKI2RlZmluZSBJT1MgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgIGNpbi50aWUoMCk7IGNvdXQudGllKDApOwoKdHlwZWRlZiBwYWlyPGludCxpbnQ+cHI7CiNkZWZpbmUgbXAgICBtYWtlX3BhaXIKI2RlZmluZSBhbGwoaSkgICAgIGkuYmVnaW4oKSAsIGkuZW5kKCkKI2RlZmluZSBmdCAgICAgZmlyc3QKI2RlZmluZSBzbiAgICAgc2Vjb25kCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgZXBzIDFlLTkKI2RlZmluZSBTUCBjb3V0PDxmaXhlZDw8c2V0cHJlY2lzaW9uKDEwKTsKCiNkZWZpbmUgaW5mIDEwMDAwMAojZGVmaW5lIE1BWE4gMTAxMAoKY29uc3QgaW50IG1vZCA9IDFlOSs3OwoKI2RlZmluZSBkYmcgY291dDw8InJvbnlcbiI7CiNkZWZpbmUgZW4gIlxuIgoKdmVjdG9yPGludD5nW01BWE5dOwppbnQgdmlzW01BWE5dOwppbnQgYVtNQVhOXTsKdmVjdG9yPGludD5pbmQsdmFsOwoKdm9pZCBkZnMoaW50IG5kKQp7CiAgICB2aXNbbmRdICA9IDE7CiAgICBpbmQucGIobmQpOwogICAgdmFsLnBiKGFbbmRdKTsKCiAgICBmb3IoYXV0byBpOmdbbmRdKQogICAgewogICAgICAgIGlmKHZpc1tpXSA9PSAxKSBjb250aW51ZTsKICAgICAgICBkZnMoaSk7CiAgICB9Cn0Kdm9pZCBzb2x2ZSgpCnsKICBpbnQgbixtOwogIGNpbiA+PiBuID4+IG07CgogIGZvcihpbnQgaSA9IDE7aSA8PSBuO2krKykgY2luID4+IGFbaV07CgogIGZvcihpbnQgaSA9IDE7aSA8PSBtO2krKykKICB7CiAgICAgaW50IHgseTsKICAgICBjaW4gPj4geCA+PiB5OwogICAgIGdbeF0ucGIoeSk7CiAgICAgZ1t5XS5wYih4KTsKICB9CgogIGZvcihpbnQgaSA9IDE7aSA8PSBuO2krKykKICB7CiAgICBpZih2aXNbaV0gPT0gMCkKICAgIHsKICAgICAgICBpbmQuY2xlYXIoKTsKICAgICAgICB2YWwuY2xlYXIoKTsKICAgICAgICBkZnMoaSk7CiAgICAgICAgc29ydChhbGwoaW5kKSk7CiAgICAgICAgc29ydChhbGwodmFsKSk7CiAgICAgICAgZm9yKGludCBqID0gMDtqIDwgaW5kLnNpemUoKTtqKyspCiAgICAgICAgewogICAgICAgICAgICBhW2luZFtqXV0gPSB2YWxbal07CiAgICAgICAgfQogICAgfQogIH0KCiAgZm9yKGludCBpID0gMTtpIDw9IG47aSsrKQogICAgIGNvdXQ8PGFbaV08PCIgIjsKIGNvdXQ8PGVuOwoKICAgZm9yKGludCBpID0gMTtpIDw9IG47aSsrKQogICB7CiAgICAgZ1tpXS5jbGVhcigpOwogICAgIHZpc1tpXSA9IDA7CiAgIH0KfQoKaW50IG1haW4oKQp7CiAgICBJT1M7CiAgICBpbnQgdDsKICBjaW4gPj4gdDsKICAvL3QgPSAxOwogICAgd2hpbGUgKCB0LS0gKQogICAgewoKICAgICAgICBzb2x2ZSgpOwogICAgfQogICAgcmV0dXJuIDA7Cn0K