#include<stdio.h>
int main() {
	int i,n,d,nn,b[200][2],r,l,u,dw;
	while (1) {
		r=l=u=dw=b[0][0]=b[0][1]= 0;
		scanf("%d", &n);
		if (n == 0)break;
		for (i = 1; i < n; i++) {
			scanf("%d %d", &nn,&d);
			if (d==3||d==1) {
				b[i][0] = b[nn][0];
				b[i][1] = b[nn][1] + d - 2;
				if (b[i][1] > u)u = b[i][1];
				if (b[i][1] < dw)dw = b[i][1];
			} else {
				b[i][0] = b[nn][0] + d - 1;
				b[i][1] = b[nn][1];
				if (b[i][0] > r)r = b[i][0];
				if (b[i][0] < l)l = b[i][0];
			}
		}
		printf("%d %d\n", r - l + 1, u - dw+1);
	}
	return 0;
}
