#include <bits/stdc++.h>
using namespace std;

const int MAX_N=210;

int N,n,d,mx,Mx,my,My;
vector<int> x(MAX_N,0),y(MAX_N,0);

int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);
    while(cin >> N,N){
        mx=Mx=my=My=0;
        for (int i=1;i<N;++i){
            cin >> n >> d;
            x[i]=x[n],y[i]=y[n];
            if (d==0) --x[i];
            if (d==1) --y[i];
            if (d==2) ++x[i];
            if (d==3) ++y[i];
            mx=min(mx,x[i]);
            Mx=max(Mx,x[i]);
            my=min(my,y[i]);
            My=max(My,y[i]);
        }
        cout << Mx-mx+1 << ' ' << My-my+1 << '\n';
    }
}
