#include<cstdio>
#include<vector>
#define rep(i,n) for(int i=0;i<n;i++)
using namespace std;
int n,ans,u[100];vector<int> ad[100];
void dfs(int c,int m){
	if(ans<m)ans=m; int s=ad[c].size(),t;
	rep(i,s){
		t=ad[c][i];
		if(!u[t])u[t]=1,dfs(t,m+1),u[t]=0;
	}
}
int main(){
	while(scanf("%d",&n),n){
		ans=1;rep(i,100)u[i]=0,ad[i].clear();
		rep(i,n){
			int a,b; scanf("%d%d",&a,&b); a--,b--;
			ad[a].push_back(b),ad[b].push_back(a);
		}
		rep(i,100)if(!ad[i].empty()){
			u[i]=1;dfs(i,1);u[i]=0;
		}
		printf("%d\n",ans);
	}
	return 0;
}