#include using namespace std; namespace SETS { int fa[100005]; void init(int n) { for(int i=1;i<=n;i++) fa[i]=i; } int find_father(int x) { return (fa[x]==x)?x:fa[x]=find_father(fa[x]); } bool merge(int x,int y) { x=find_father(x);y=find_father(y); if (x==y) return 0; fa[x]=y; return 1; } } struct Edge { int s,t,v,id; Edge() {} Edge(int a,int b,int c,int d):s(a),t(b),v(c),id(d) {} bool operator < (const Edge & b) const {return v>1)) ans[e[k].id]=0; } reverse(e+1,e+m+1); SETS::init(n); s=0; for(int i=1,j=0;i<=m;i=j+1) { while (j>1)) ans[e[k].id]=0; } for(int i=1;i<=m;i++) putchar((ans[i])?'1':'0'); printf("\n"); } return 0; }