#include #define For(i,x,y) for (register int i=(x);i<=(y);i++) #define FOR(i,x,y) for (register int i=(x);i<(y);i++) #define Dow(i,x,y) for (register int i=(x);i>=(y);i--) #define Debug(v) for (auto i:v) cout< pa; typedef pair PA; typedef vector poly; inline ll read(){ ll x=0,f=1;char c=getchar(); while ((c<'0'||c>'9')&&(c!='-')) c=getchar(); if (c=='-') f=-1,c=getchar(); while (c>='0'&&c<='9') x=x*10+c-'0',c=getchar(); return x*f; } const int N = 1e5+10; int n,m,k,f[N],las[N]; inline void solve(){ n=read(),m=read(),k=read(); For(i,1,n) f[i]=-1e9,las[i]=0; f[k]=0; For(i,1,m){ int x=read(),y=read(); f[x]+=i-las[x]-1,f[y]+=i-las[y]-1; int a=f[x],b=f[y]; f[x]=max(f[x],b+1),f[y]=max(f[y],a+1); las[x]=i,las[y]=i; } For(i,1,n){ f[i]+=m-las[i]; if (f[i]<0) printf("%d",-1); else printf("%d",m-f[i]); if (i