#include using namespace std; using ll = long long; using ld = long double; using vll = vector; using pll = pair; #define rep(i,n) for(int i=0;i<(n);i++) #define rrep(i,n) for(int i=(n)-1;0<=i;i--) #define REP(i,n) for(int i=1;i<=n;i++) #define all(a) a.begin(),a.end() #define sort(a) sort(all(a)) #define rev(a) reverse(all(a)) char el='\n'; void YN(bool f){cout<<(f?"Yes":"No")<<"\n";} template bool chmin(T& x,T y){if(x>y){x=y;return true;}return false;} template bool chmax(T& x,T y){if(x istream &operator>>(istream &is, vector &v){ for(T &in : v) is >> in; return is;} template ostream &operator<<(ostream &os, vector &v){ rep(i,v.size()) os << v[i] << (i+1==v.size()?"":" "); return os;} bool solve(){ int n, m; ll k; cin >> n >> m >> k; rep(i,m){ int u, v; cin >> u >> v; u--; v--; } vll b(n); cin >> b; ll sum = 0; rep(i,n) sum += b[i]; while(k%2==0 && sum%2==0){ k /= 2; sum /= 2; } return (k%2==1); } int main(){ int t; cin >> t; rep(i,t) YN(solve()); }