#include<cstdio>
const int N=2e5+5;
struct edge{
	int to,nxt;
}e[N<<1];
int head[N],n,cnt;
int g(int u,int p){
	int r=0;
	for(int i=head[u];i;i=e[i].nxt)
	if(e[i].to!=p)r^=g(e[i].to,u)+1;
	return r;
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<n;++i){
		int u,v;
		scanf("%d%d",&u,&v);
		e[++cnt]=(edge){v,head[u]},head[u]=cnt;
		e[++cnt]=(edge){u,head[v]},head[v]=cnt;
	}
	puts(g(1,0)?"Alice":"Bob");
	return 0;
}