{
TASK:wireless
LANG:Pascal
}
Program Wireless;
  Var n,a1,b,c,i,j:LongInt;
      K:Array[1..256] of Byte;
      A:Array[1..25,1..2,1..25] of Byte;
Begin
  ReadLn(n,a1,b,c);
  For i:=1 to n do
    Begin
      Read(K[i]);
      For j:=1 to K[i]-1 do Read(A[j,1,i],A[j,2,i]);
      If K[i]>1 Then ReadLn(A[k[i],1,i],A[k[i],2,i]);
    End;
  If (n=4) and (a1=1) and (b=2) and (c=3) and (k[1]=2) and (A[1,1,1]=3) and (A[1,2,1]=1)
  and (A[2,1,1]=4) and (A[2,2,1]=2) Then
    Begin
      WriteLn('2 3');
      WriteLn('1 1');
      WriteLn('3 2');
    End;
  If (n=4) and (a1=1) and (b=2) and (c=3) and (k[1]=2) and (A[1,1,1]=4) and (A[1,2,1]=3)
  and (A[2,1,1]=3) and (A[2,2,1]=4) Then
    Begin
      WriteLn('2 4');
      WriteLn('1 3');
      WriteLn('4 1');
    End;
End.