#include <bits/stdc++.h>
using namespace std;
const double EPS = 1e-9;
const double PI = acos(-1);
int N;
int cor[301000];
struct Pt {
  long long x, y;
  int id;
  Pt(long long a = 0, long long b = 0, int c = 0) : x(a), y(b), id(c) {}
  bool operator==(const Pt& p) const { return p.x == x && p.y == y; }
  bool operator<(const Pt& p) const { return x == p.x ? y < p.y : x < p.x; }
  Pt operator-(const Pt& p) const { return {x - p.x, y - p.y}; }
  Pt operator+(const Pt& p) const { return {x + p.x, y + p.y}; }
  Pt operator/(const long long c) const { return {x / c, y / c}; }
  Pt operator*(const long long c) const { return {x * c, y * c}; }
  long long dot(const Pt& b) const { return (x * b.x) + (y * b.y); }
  long long sq() const { return (x * x) + (y * y); }
  long long cross(const Pt& b) const { return (x * b.y) - (y * b.x); }
  long long cross(const Pt& a, const Pt& b) const {
    return (a - *this).cross(b - *this);
  }
  bool bad() { return (x & 1) || (y & 1); }
};
vector<Pt> pts;
ostream& operator<<(ostream& os, Pt p) {
  return os << "(" << p.x << "," << p.y << "," << cor[p.id] << ")";
}
template <typename F>
int sgn(F x) {
  return (F(0) < x) - (x < F(0));
}
bool solve(int atual) {
  vector<Pt> chain;
  if (!atual) sort(pts.begin(), pts.end());
  int sz = 0;
  for (int i = 0; i < N; i++) {
    int id = pts[i].id;
    if (atual == 1 && cor[id] == 1) continue;
    if (atual == 2 && cor[id] == 2) continue;
    while (sz >= 2 && chain[sz - 2].cross(chain[sz - 1], pts[i]) >= 0)
      chain.pop_back(), sz--;
    chain.emplace_back(pts[i]);
    sz++;
  }
  int ref = sz;
  for (int i = pts.size() - 2; i >= 0; i--) {
    int id = pts[i].id;
    if (atual == 1 && cor[id] == 1) continue;
    if (atual == 2 && cor[id] == 2) continue;
    while (sz - ref >= 1 && chain[sz - 2].cross(chain[sz - 1], pts[i]) >= 0)
      chain.pop_back(), sz--;
    chain.emplace_back(pts[i]);
    sz++;
  }
  chain.pop_back();
  if (!atual) {
    for (int i = 0; i < chain.size(); i++)
      if (chain[i].x != 0 || chain[i].y != 0) cor[chain[i].id] = (i & 1) + 1;
  }
  int aux = 0;
  for (Pt pt : chain) {
    if (pt.bad()) return true;
  }
  return false;
}
int main() {
  scanf("%d", &N);
  long long x, y;
  bool zero = false;
  for (int i = 0; i < N; i++) {
    scanf("%lld %lld", &x, &y);
    if (x == 0 && y == 0) zero = true;
    pts.emplace_back(x, y, i);
  }
  if (!zero) pts.emplace_back(0, 0, N);
  N = pts.size();
  if (solve(0) || solve(1) || solve(2)) {
    printf("Ani\n");
  } else {
    printf("Borna\n");
  }
  return 0;
}
