Program p1091; var i,j,k,l,m,n,p,ans:longint; a1,a2,a3:array[-2..300,-1..300]of longint; pt:array[1..300,1..2]of longint; fl:array[1..300]of boolean; procedure sy(z:longint); var x,y:longint; begin for x:=1 to p do begin if (pt[x,1]=z)and(fl[pt[x,2]]=false)then begin inc(a1[z,0]);a1[a1[z,0]]:=pt[x,2];a1[pt[x,2],-2]:=a1[z,-2]+1; fl(pt[x,2]):=true;sy(pt[x,2]);a1[pt[x,2],-1]:=z; end; if (pt[x,2]=z)and(fl[pt[x,1]]=false)then begin inc(a1[z,0]);a1[a1[z,0]]:=pt[x,1];a1[pt[x,1],-2]:=a1[z,-2]+1; fl(pt[x,1]):=true;sy(pt[x,1]);a1[pt[x,1],-1]:=z; end; end; end; Procedure dfs(x:longint); begin end; begin read(n,p); for i:=1 to p do read(pt[i,1],pt[i,2]); for i:=1 to 300 do fl[i]:=false; fl[1]:=true; for i:=1 to n do begin a1[i,0]:=0;end;a1[1,-2]:=1; sy(1);