#include<stdio.h>

int main(){
  int n,p[200][2],xmin,xmax,ymin,ymax,d,N;
  p[0][0]=p[0][1]=0;
  while(1){
    scanf("%d",&N);
    if(N==0)
      break;
    xmin=xmax=ymin=ymax=0;
    for(int i=1;i<N;i++){
      scanf("%d %d",&n,&d);
      if(d==0){
        p[i][0]=p[n][0]-1;
        p[i][1]=p[n][1];
      }
      else if(d==1){
        p[i][0]=p[n][0];
        p[i][1]=p[n][1]+1;
      }
      else if(d==2){
        p[i][0]=p[n][0]+1;
        p[i][1]=p[n][1];
      }
      else{
        p[i][0]=p[n][0];
        p[i][1]=p[n][1]-1;
      }
    }
    for(int i=0;i<N;i++){
      if(xmin>p[i][0])
        xmin=p[i][0];
      if(ymin>p[i][1])
        ymin=p[i][1];
      if(xmax<p[i][0])
        xmax=p[i][0];
      if(ymax<p[i][1])
        ymax=p[i][1];
    }
    printf("%d %d\n",xmax-xmin+1,ymax-ymin+1);
  }
}
