Problem:
Score : 100 points

Problem Statement

Snuke lives at position x on a number line.
On this line, there are two stores A and B, respectively at position a and b, that offer food for delivery.

Snuke decided to get food delivery from the closer of stores A and B.
Find out which store is closer to Snuke's residence.

Here, the distance between two points s and t on a number line is represented by |s-t|.

Constraints

1 \leq x \leq 1000

1 \leq a \leq 1000

1 \leq b \leq 1000

x, a and b are pairwise distinct.

The distances between Snuke's residence and stores A and B are different.

Input

Input is given from Standard Input in the following format:

x a b

Output

If store A is closer, print A; if store B is closer, print B.

Sample Input 1

5 2 7

Sample Output 1

B

The distances between Snuke's residence and stores A and B are 3 and 2, respectively.
Since store B is closer, print B.

Sample Input 2

1 999 1000

Sample Output 2

A

Solution in C# (Mono 4.6.2.0) (judge verdict: Runtime Error)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class Program
{
    public static bool f = false, t = true;
    static void Main(string[] args)
    {
        long n = long.Parse(Console.ReadLine());
        long[] a = Read.longs();
   //    long[] x = new long[100000000];
     //   for(long i=0;i<n; i++)
        {
       //     x[a[i]]++;
        }
       long[] x = new long[a.Max()];
        Array.Sort(a);
        for(int i = 0; i < a.Length; i++)
        {
            x[a[i] - 1]++;
        }
        long ans = 1;
        int katahouOK = 0;
        long eranda1 = 0;
        for(long i = a.Length-1; i >= 0; i--)
        {
            if (x[a[i] - 1] >= 2)
            {
                if (eranda1 == a[i] - 1) { continue; }
                else
                {
                    eranda1 = 0;
                }
                if (katahouOK == 1) { ans *= a[i];
                    Console.WriteLine((ans));
                    Console.ReadLine(); return; }
                if (katahouOK == 0)
                {
                    ans *= a[i] ;
                    eranda1=a[i]-1;
                    if (x[a[i] - 1] >= 4)
                    {
                        ans *= a[i];
                        Console.WriteLine(Math.Sqrt(ans));Console.ReadLine(); return;
                    }
                    katahouOK++;
                }
            }
        }
        Console.WriteLine(0);
        Console.ReadLine();
    }
    public static long gcd(long a, long b)
    {
        while (true)
        {
            if (a == 0) { return b; }
            if (b == 0) { return a; }
            if (a > b) { a -= b; }
            else { b -= a; }
        }
    }
    public static long lcm(long a, long b)
    {
        return a / gcd(a, b) * b;
    }
    public static bool IsPrime(long n)
    {
        if (n < 2) return false;
        if (n == 2) return true;

        for (long i = 2; i < Math.Sqrt(n); i++)
        {
            if (n % i == 0) return false;
        }
        return true;
    }

}
public static class Read
{
    public static void outl(string n = "") { Console.WriteLine(n); return; }
    public static long Long()
    {
        return long.Parse(Console.ReadLine());
    }
    public static long[] longs()
    {
        return Console.ReadLine().Split().Select(long.Parse).ToArray();
    }
    public static int Int()
    {
        return int.Parse(Console.ReadLine());
    }
    public static int[] ints()
    {
        return Console.ReadLine().Split().Select(int.Parse).ToArray();
    }
    public static string Str() { return Console.ReadLine(); }
    public static string[] Strs() { return Console.ReadLine().Split(); }
}