//Code by Lucida
#include<bits/stdtr1c++.h>
#define OPEN(x) freopen(x".in","r",stdin),freopen(x".out","w",stdout);
#define foreach(var,con) for(typeof(con.begin()) __ITER__=con.begin(),__END__=con.end();__ITER__!=__END__;++__ITER__)if(bool __FLAG__=1)for(typeof(*__ITER__) &var=*__ITER__;__FLAG__;__FLAG__=0)

typedef long long int64;
typedef long double decimal;
#define NAMESPACE_BEGIN(x) namespace x {
#define NAMESPACE_END }
NAMESPACE_BEGIN(io)
#ifdef OI
const int IN=1e5;
char in[IN],*ip=in,*ie=in;
#define getchar() ( ip==ie && (ie=(ip=in)+fread(in,1,IN,stdin),ip==ie)?EOF:*ip++ )
#endif
struct Istream {
	template <typename T>
	Istream &operator >>(T &);
	template <typename T>
	Istream &operator >>(T *);
}is;
template <typename T>
Istream &Istream::operator >>(T &x) {
	static bool neg;
	static char ch;
	neg=0;
	while(ch=getchar(),ch<'0' || '9'<ch) {
		neg|=ch=='-';
	}
	for(x=0;'0'<=ch && ch<='9';ch=getchar()) {
		(x*=10)+=ch-'0';
	}
	x=neg?-x:x;
	return *this;
}
template <>
Istream &Istream::operator >>(double &x) {
#ifndef OI
	scanf("%lf",&x);
#else
	x=0;throw std::invalid_argument("integer or char required");
#endif
	return *this;
}
template <>
Istream &Istream::operator >>(char &ch) {
	while(ch=getchar(),(ch=='\r' || ch=='\n' || ch==' ' || ch==EOF));
	return *this;
}
template <typename T>
Istream &Istream::operator >>(T *x) {
	char ch;
	while(ch=getchar(),(ch=='\r' || ch=='\n' || ch==' '  || ch==EOF));
	do *x++=ch;
	while(ch=getchar(),(ch!='\r' && ch!='\n' && ch!=' ' && ch!=EOF));
	*x=0;
	return *this;
}

#ifdef OO
const int OUT=1e5;
char out[OUT],*op=out,*oe=out+OUT;
#define flush() fwrite(out,1,op-out,stdout)
#define putchar(x) ( (op==oe?(flush(),op=out,*op++):*op++)=(x) )
#endif
struct Ostream {
#ifndef OO
	char dFormat[20];
	Ostream() {
		sprintf(dFormat,"%%lf");
	}
	void precision(const int &x) {
		sprintf(dFormat,"%%.%dlf",x);
	}
#else
	~Ostream() {
		flush();
	}
#endif
	template <typename T>
	Ostream &operator <<(T x);
	template <typename T>
	Ostream &operator <<(T *x);
}os;
template <typename T>
Ostream &Ostream::operator <<(T x) {
	if(x==0) {
		putchar('0');
	} else {
		if(x<0) {
			putchar('-');
			x=-x;
		}
		static char stack[100];
		static int top;
		for(top=0;x;x/=10) {
			stack[++top]=x%10+'0';
		}
		while(top) {
			putchar(stack[top--]);
		}
	}
	return *this;
}
template <>
Ostream &Ostream::operator <<(double x) {
#ifndef OO
	printf(dFormat,x);
#else
	x=0;throw std::invalid_argument("integer or char required");
#endif
	return *this;
}
template <>
Ostream &Ostream::operator <<(char x) {
	putchar(x);
	return *this;
}
template <typename T>
Ostream &Ostream::operator <<(T *x) {
	while(*x) {
		putchar(*x++);
	}
	return *this;
}
NAMESPACE_END
using io::is;
using io::os;

template <class T> inline bool chkmx(T &a,const T &b) {return a<b?a=b,1:0;}
template <class T> inline bool chkmn(T &a,const T &b) {return b<a?a=b,1:0;}

#define OPERATOR_EXT(type,op) type &operator op##=(type const& a) { return *this=*this op a;}
static const int N=20,MAXN=1e2+11;
int map[MAXN][MAXN];
bool DFS(int x,int y) {
	if(map[x][y]) {
		return map[x][y]==1;
	} else {
		bool lose=1;
		for(int i=1;i*2<=x;++i) {
			if(!DFS(x-2*i,y+i)) {
				lose=0;
				break;
			}
		}
		for(int i=1;i*2<=y;++i) {
			if(!DFS(x+i,y-2*i)) {
				lose=0;
				break;
			}
		}
		map[x][y]=lose?-1:1;
		return map[x][y]==1;
	}
}
template <class T>
T abs(T const &x) {
	return x<0?-x:x;
}
int main() {
//	freopen("input","r",stdin);
	/*
	map[0][0]=map[0][1]=map[1][0]=-1;
	for(int i=0;i<=N;++i) {
		for(int j=0;j<=N;++j) {
			os<<(DFS(i,j)==1)<<' ';
		}
		os<<'\n';
	}os<<'\n';
	for(int i=0;i<=N;++i) {
		for(int j=0;j<=N;++j) {
			os<<(abs(i-j)>=2)<<' ';
		}os<<'\n';
	}*/
	int64 x,y;is>>x>>y;
	os<<(abs(x-y)>=2?"Alice":"Brown")<<'\n';
	return 0;
}



Measured memory_bytes: 256