#include <bits/stdc++.h>
using namespace std;
#define MAXN 262144
#define rint register int
inline int read(){int r;int s=0,c;for(;!isdigit(c=getchar());s=c);for(r=c^48;isdigit(c=getchar());(r*=10)+=c^48);return s^45?r:-r;}
int c[MAXN+5], h[MAXN+5], n, _; vector<int> e[MAXN+5];
int DP(int p, int fa){int U = 0, S = 0; for(auto v:e[p]) if(v^fa) _ = DP(v,p), S |= _&U, U |= _; for(_ = h[S]; U&1<<_; ++_); return U>>_<<_|1<<_;}
int main()
{
	n = read(); for(rint i = 2, a, b; i <= n; a = read(), b = read(), e[a].push_back(b), e[b].push_back(a), i++);
	c[1] = 1; for(rint i = 2; i <= MAXN; c[i] = -~c[i-(i&-i)], h[i] = -~h[i>>1], i++); return !printf("%d\n",h[DP(1,0)]);
}