#include <stdio.h>

main(){
  int tx[200], ty[200], dx[]={-1,0,1,0}, dy[]={0,1,0,-1},n,i;
  int num, d, max, min,a ,b;

  tx[0]=0;
  ty[0]=0;

  while(1){
    scanf("%d", &n);
    if(n==0) break;

    for(i=1;i<n;i++){
      scanf("%d %d", &num, &d);
      tx[i]=tx[num]+dx[d];
      ty[i]=ty[num]+dy[d];
    }

    max=-201;
    min=201;

    for(i=0;i<n;i++){
      if(tx[i]<min) min=tx[i];
      if(tx[i]>max) max=tx[i];
    }
    a=max-min+1;
    max=-201;
    min=201;

    for(i=0;i<n;i++){
      if(ty[i]<min) min=ty[i];
      if(ty[i]>max) max=ty[i];
    }
    b=max-min+1;

    printf("%d %d\n", a, b);
  }
  return 0;
}