#include<bits/stdc++.h>
using namespace std;
#define lli long long int
#define inf 1000000000
#define pb push_back
#define mp make_pair
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define endl "\n"
#define yoi cout<<"yo"<<endl;
#define debug(x) cerr << #x << " is " << x << endl;
#define all(x) x.begin(),x.end()
const int mod=1e9+7;
void bfs(vector<vector<int> >&v,int s,int a[]){
queue<int> q;
int dist[v.size()];
memset(dist,0,sizeof(dist));
q.push(s);
dist[s]=a[s];
int i;
while(q.size()){
int x=q.front();
for(i=0;i<v[x].size();i++){
if(!dist[v[x][i]]){
q.push(v[x][i]);
dist[v[x][i]]=max(a[v[x][i]],dist[x]);
}
dist[v[x][i]]=min(dist[v[x][i]],max(a[v[x][i]],dist[x]));
}
q.pop();
}
for(i=1;i<v.size();i++){
cout<<dist[i]<<" ";
}
cout<<endl;
}
int main(){
IOS;
int t;
cin>>t;
while(t--){
int n,m,s,i,x,y;
cin>>n>>m>>s;
int a[n+1];
for(i=1;i<=n;i++){
cin>>a[i];
}
vector<vector<int> > v(n+1);
for(i=0;i<m;i++){
cin>>x>>y;
v[x].pb(y);
}
bfs(v,s,a);
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbGkgbG9uZyBsb25nIGludAojZGVmaW5lIGluZiAxMDAwMDAwMDAwCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgSU9TIGlvczo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKI2RlZmluZSBlbmRsICJcbiIKI2RlZmluZSB5b2kgY291dDw8InlvIjw8ZW5kbDsKI2RlZmluZSBkZWJ1Zyh4KSBjZXJyIDw8ICN4IDw8ICIgaXMgIiA8PCB4IDw8IGVuZGw7CiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSx4LmVuZCgpCmNvbnN0IGludCBtb2Q9MWU5Kzc7CnZvaWQgYmZzKHZlY3Rvcjx2ZWN0b3I8aW50PiA+JnYsaW50IHMsaW50IGFbXSl7CnF1ZXVlPGludD4gcTsKaW50IGRpc3Rbdi5zaXplKCldOwptZW1zZXQoZGlzdCwwLHNpemVvZihkaXN0KSk7CnEucHVzaChzKTsKZGlzdFtzXT1hW3NdOwppbnQgaTsKd2hpbGUocS5zaXplKCkpewogICAgaW50IHg9cS5mcm9udCgpOwogICAgZm9yKGk9MDtpPHZbeF0uc2l6ZSgpO2krKyl7CiAgICAgICAgaWYoIWRpc3Rbdlt4XVtpXV0pewogICAgICAgICAgICBxLnB1c2godlt4XVtpXSk7CiAgICAgICAgICAgIGRpc3Rbdlt4XVtpXV09bWF4KGFbdlt4XVtpXV0sZGlzdFt4XSk7CiAgICAgICAgfQogICAgICAgIGRpc3Rbdlt4XVtpXV09bWluKGRpc3Rbdlt4XVtpXV0sbWF4KGFbdlt4XVtpXV0sZGlzdFt4XSkpOwogICAgfQogICAgcS5wb3AoKTsKfQpmb3IoaT0xO2k8di5zaXplKCk7aSsrKXsKICAgIGNvdXQ8PGRpc3RbaV08PCIgIjsKfQpjb3V0PDxlbmRsOwp9CmludCBtYWluKCl7CklPUzsKaW50IHQ7CmNpbj4+dDsKd2hpbGUodC0tKXsKICAgIGludCBuLG0scyxpLHgseTsKICAgIGNpbj4+bj4+bT4+czsKICAgIGludCBhW24rMV07CiAgICBmb3IoaT0xO2k8PW47aSsrKXsKICAgICAgICBjaW4+PmFbaV07CiAgICB9CiAgICB2ZWN0b3I8dmVjdG9yPGludD4gPiB2KG4rMSk7CiAgICBmb3IoaT0wO2k8bTtpKyspewogICAgICAgIGNpbj4+eD4+eTsKICAgICAgICB2W3hdLnBiKHkpOwogICAgfQogICAgYmZzKHYscyxhKTsKfQp9Cg==