program Untitled;
Var
   Inputf,Outputf:Text;
   vertexs,numedges,num_out:integer;
   edge : array [1..1000,1..2] of integer;
   Count,count2:integer;

procedure num_bridges(Var bridges:integer);

Var
   Counter:integer;
   Ver_edges : array [1..100] of integer;

begin
For Counter := 1 to vertexs do
    Ver_edges[counter] := 0;

For Counter:= 1 to numedges do
    Begin
    Ver_Edges[edge[counter,1]] := Ver_Edges[edge[counter,1]] + 1;
    Ver_Edges[edge[counter,2]] := Ver_Edges[edge[counter,2]] + 1;
    End;

For Counter := 1 to Vertexs do
    Begin
         If Ver_Edges[counter] = 1 then
            bridges := bridges + 1;

    End;

end;

{-------------------------------------}

begin
Assign (Inputf,'DATA5.txt');
Reset (Inputf);
Assign (Outputf,'OUT5.txt');
Rewrite (Outputf);


for count2 := 1 to 5 do
Begin
Readln(Inputf,vertexs);
Readln(inputf,numedges);
Num_out := 0;
For count:= 1 to numedges do
    Begin
    Read(Inputf,Edge[count,1]);
    Readln(Inputf,Edge[count,2]);
    End;

num_bridges(Num_out);

Writeln (Outputf,Num_out);
end;
close(Outputf);
end.

