const fi=''; nmax=40000; mmax=100000; type data=longint; data1=longint; var f:text; n,m:data; head:array[0..nmax+1] of data1; adj:array[0..mmax*2] of data1; loaidinh,DD:array[0..nmax] of boolean; A,B:array[0..2*mmax] of data1; procedure sort(l,r: longint); var i,j: longint; x,y:data1; begin i:=l; j:=r; x:=a[(l+r) div 2]; repeat while a[i]j) then begin y:=a[i]; a[i]:=a[j]; a[j]:=y; y:=b[i]; b[i]:=b[j]; b[j]:=y; inc(i); j:=j-1; end; until i>j; if l