#include<bits/stdc++.h>
using namespace std;const unsigned N=3011,B=(1<<12)-1;
#define void inline void
#define int register unsigned
vector<unsigned short>a[N];unsigned b[N],id[1<<24],cnt=~0,f,r,q[1<<24],d[1<<24],pre[1<<24];bitset<1<<24>c;
#define add(u,v) a[u].emplace_back(v)
#define ADD(u,v) b[++cnt]=u<<12|v,id[b[cnt]]=cnt
void print(int p){if(p)print(pre[p]);cout<<(q[p]&B)<<' ';}
signed main(){ios::sync_with_stdio(0);int n,m,k;cin>>n>>m>>k;
while(m--){int u,v;cin>>u>>v;add(u,v),add(v,u);}
while(k--){int u,v,w;cin>>u>>v>>w;ADD(u,v),ADD(v,w);}//cerr<<b[2]<<' '<<b[3]<<'\n';
q[0]=1;while(f<=r){int t=q[f],dis=d[f],p=f,u=q[f++]&B;//cerr<<t<<' '<<q[pre[p]]<<'\n';
if(u==n)return cout<<dis<<'\n',print(p),0;
for(int i=0;i<a[u].size();++i){int v=a[u][i],e;e=u<<12|v;
if(b[id[e]^1]==t||c[e])continue;c[e]=1,q[++r]=e,d[r]=dis+1,pre[r]=p;
}
}
}
CF上第一个点就炸了,但本地没有任何问题