#include <bits/stdc++.h>
using namespace std;
const double PI = acos(-1.0);
const long long MOD = 1e9 + 7;
const long long MAXN = 4e5 + 10;
const int INF = 0x3f3f3f3f;
const long long ll_INF = 9223372036854775807;
long long qm(long long a, long long b) {
  long long ret = 1;
  while (b) {
    if (b & 1) ret = ret * a % MOD;
    a = a * a % MOD;
    b >>= 1;
  }
  return ret;
}
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
long long lcm(long long a, long long b) { return (a * b) / gcd(a, b); }
int n;
int a[MAXN];
int main() {
  scanf("%d", &n);
  int num1 = 0;
  int min_number = INF;
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    if (a[i] == 1) num1++;
    min_number = min(min_number, a[i]);
  }
  if (num1 == 0) {
    int number = 0;
    for (int i = 1; i <= n; i++) {
      if (min_number == a[i]) number++;
    }
    if (number <= n / 2)
      printf("Alice");
    else
      printf("Bob");
  } else if (num1 > 0 && num1 <= n / 2) {
    printf("Alice");
  } else {
    printf("Bob");
  }
  return 0;
}

### Prompt

Please formulate a cpp solution to the following problem:

Alice and Bob are playing a game with n piles of stones. It is guaranteed that n is an even number. The i-th pile has a_i stones.

Alice and Bob will play a game alternating turns with Alice going first.

On a player's turn, they must choose exactly n/2 nonempty piles and independently remove a positive number of stones from each of the chosen piles. They can remove a different number of stones from the piles in a single turn. The first player unable to make a move loses (when there are less than n/2 nonempty piles).

Given the starting configuration, determine who will win the game.

Input

The first line contains one integer n (2 ≤ n ≤ 50) — the number of piles. It is guaranteed that n is an even number.

The second line contains n integers a_1, a_2, …, a_n (1 ≤ a_i ≤ 50) — the number of stones in the piles.

Output

Print a single string "Alice" if Alice wins; otherwise, print "Bob" (without double quotes).

Examples

Input


2
8 8


Output


Bob


Input


4
3 1 4 1


Output


Alice

Note

In the first example, each player can only remove stones from one pile (2/2=1). Alice loses, since Bob can copy whatever Alice does on the other pile, so Alice will run out of moves first.

In the second example, Alice can remove 2 stones from the first pile and 3 stones from the third pile on her first move to guarantee a win.

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
const double PI = acos(-1.0);
const long long MOD = 1e9 + 7;
const long long MAXN = 4e5 + 10;
const int INF = 0x3f3f3f3f;
const long long ll_INF = 9223372036854775807;
long long qm(long long a, long long b) {
  long long ret = 1;
  while (b) {
    if (b & 1) ret = ret * a % MOD;
    a = a * a % MOD;
    b >>= 1;
  }
  return ret;
}
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
long long lcm(long long a, long long b) { return (a * b) / gcd(a, b); }
int n;
int a[MAXN];
int main() {
  scanf("%d", &n);
  int num1 = 0;
  int min_number = INF;
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    if (a[i] == 1) num1++;
    min_number = min(min_number, a[i]);
  }
  if (num1 == 0) {
    int number = 0;
    for (int i = 1; i <= n; i++) {
      if (min_number == a[i]) number++;
    }
    if (number <= n / 2)
      printf("Alice");
    else
      printf("Bob");
  } else if (num1 > 0 && num1 <= n / 2) {
    printf("Alice");
  } else {
    printf("Bob");
  }
  return 0;
}

```