Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
	"strconv"
	"strings"
)

var sc = bufio.NewScanner(os.Stdin)

//Sliceconvtoi ...
func Sliceconvtoi() []int {
	strs := strings.Split(sc.Text(), " ")

	var ints []int
	var x int

	for _, s := range strs {
		x, _ = strconv.Atoi(s)
		ints = append(ints, x)
	}

	return ints
}

func main() {
	sc.Scan()
	i := Sliceconvtoi()
	price := i

	menu := map[int]string{
		price[0]: "A",
		price[1]: "B",
		price[2]: "C",
	}

	sort.Ints(i)

	fmt.Println(menu[i[2]])
}

C++: #include "bits/stdc++.h"
using namespace std;
#ifdef _DEBUG
#include "dump.hpp"
#else
#define dump(...)
#endif

//#define int long long
#define rep(i,a,b) for(int i=(a);i<(b);i++)
#define rrep(i,a,b) for(int i=(b)-1;i>=(a);i--)
#define all(c) begin(c),end(c)
const int INF = sizeof(int) == sizeof(long long) ? 0x3f3f3f3f3f3f3f3fLL : 0x3f3f3f3f;
const int MOD = 1'000'000'007;
template<class T> bool chmax(T &a, const T &b) { if (a < b) { a = b; return true; } return false; }
template<class T> bool chmin(T &a, const T &b) { if (b < a) { a = b; return true; } return false; }

signed main() {
	cin.tie(0);
	ios::sync_with_stdio(false);
	vector<int> v(3); rep(i, 0, 3) {
		cin >> v[i];
	}
	cout << (char)(max_element(all(v)) - v.begin() + 'A') << endl;
	return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
 
int main(){
  int a, b, c;
  cin >> a >> b >> c;
  if(a == max({a,b,c})) cout << "A" << endl;
  else if(b == max({a,b,c})) cout << "B" << endl;
  else if(c == max({a,b,c})) cout << "C" << endl;
}

C++: #include <bits/stdc++.h>
using namespace std;

int main(void){
  vector<int> A(3);
  cin >> A[0] >> A[1] >> A[2];
  char ans = max_element(A.begin(), A.end()) - A.begin();
  printf("%c\n", ans + 'A');
}

C++: #include <bits/stdc++.h>

using namespace std;
using ll = long long;
using ull = unsigned long long;
template <class T> using V = vector<T>;
template <class T> using VV = V<V<T>>;

int main() {
    int a, b, c;
    cin >> a >> b >> c;
    int d = max({a, b, c});
    if (a == d) cout << "A" << endl;
    if (b == d) cout << "B" << endl;
    if (c == d) cout << "C" << endl;
    return 0;
}

C++: #include <iostream>
#include <queue>

class Compare {
public:
    bool operator()(std::pair<int, char> a, std::pair<int, char> b) {
        return (a.first < b.first);
    }
};

int main()
{
    char menu[] = {'A', 'B', 'C'};
    std::priority_queue<std::pair<int, char>, std::vector<std::pair<int, char>>, Compare> pq;
    int tmp;
    for (int i = 0; i < 3; i++) {
        std::cin >> tmp;
        pq.push(std::make_pair(tmp, menu[i]));
    }
    std::cout << pq.top().second << std::endl;
    return 0;
}

C++: #include <bits/stdc++.h>

using namespace std;

#define REP(i,n) for(ll (i) = (0);(i) < (n);++i)
#define REV(i,n) for(ll (i) = (n) - 1;(i) >= 0;--i)
#define PB push_back
#define EB emplace_back
#define MP make_pair
#define FI first
#define SE second
#define SHOW1d(v,n) {REP(WW,n)cerr << v[WW] << ' ';cerr << endl << endl;}
#define SHOW2d(v,WW,HH) {REP(W_,WW){REP(H_,HH)cerr << v[W_][H_] << ' ';cerr << endl;}cerr << endl;}
#define ALL(v) v.begin(),v.end()
#define Decimal fixed<<setprecision(20)
#define INF 1000000000
#define LLINF 1000000000000000000LL
#define MOD 998244353
#define fastcin() cin.tie(0);ios::sync_with_stdio(false)

typedef long long ll;
typedef pair<ll,ll> P;

int main(){

	ll a, b , c;cin >> a >> b >> c;
	if(a > b && a > c)cout << "A" << endl;
	if(b > a && b > c)cout << "B" << endl;
	if(c > a && c > b)cout << "C" << endl;

	return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;

int main() {
    int a, b, c;
    cin >> a >> b >> c;
    int maxi = max(a, max(b, c));
    if(maxi == a) cout << "A" << endl;
    if(maxi == b) cout << "B" << endl;
    if(maxi == c) cout << "C" << endl;
    return 0;
}

C++: #include <iostream>

using namespace std;

int main(void){
    int a,b,c;
    cin>>a>>b>>c;
    if(a>b){
        if(a>c){
            cout<<"A";
        }
        else{
            cout<<"C";
        }
    }
    else if(b>c){
        cout<<"B";
    }
    else{
        cout<<"C";
    }
    
    cout<<endl;
    
    return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
int main(){
  int a,b,c;
  cin >> a >> b >> c;
  if(a > b && a > c)cout << "A" << endl;
  else if(b > c)cout << "B" << endl;
  else cout << "C" << endl;
  return 0;
}

C++: #include<iostream>
#include<algorithm>
#include<vector>
using namespace std;

int main(){
    int A,B,C;
    cin >> A >> B >> C;
    if(A > B && A > C) cout << "A" << endl;
    else if(B > A && B > C) cout << "B" << endl;
    else cout << "C" << endl;
}

C++: #include<bits//stdc++.h>
using namespace std;
int main(){
    int a,b,c;cin >>a >>b >>c;
    if(a == max(a,max(b,c))) cout << "A" << endl;
    else if(b > c) cout << "B" <<endl;
    else cout << "C" <<endl;
}

C++: #include<bits/stdc++.h>
using namespace std;
#define FOR(i,a,b) for (int i=(a);i<(b);i++)
#define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--)
#define REP(i,n) for (int i=0;i<(n);i++)
#define RREP(i,n) for (int i=(n)-1;i>=0;i--)
typedef long long LL;
int N;

int main(){
	int a,b,c;
	cin>>a>>b>>c;
	if(a>b&&a>c){
		cout<<"A"<<endl;
	}else if(b>c){
		cout<<"B"<<endl;
	}else{
		cout<<'C'<<endl;
	}
}

C++: #include <bits/stdc++.h>

using namespace std;

using int64 = long long;

int main() {
  int A, B, C;
  cin >> A >> B >> C;
  if(A > B && A > C) puts("A");
  else if(B > A && B > C) puts("B");
  else puts("C");


}

C++: //↓template↓

#include "bits/stdc++.h"
using namespace std;
#define Would
#define you
#define all(n)  n.begin(),n.end()
const long long INF = 1e18;
const long long MOD = 1e9 + 7;
const double pi = acos(-1);
const int SIZE = 1 << 17;
int dx[] = { 1,0 }, dy[] = { 0,1 }, alp[30];
long long fac[200005], finv[200005], inv[200005];
vector<long long>dij;
struct edge { long long to, cost; };
vector<vector<edge> >G;

long long mod_pow(long long a, long long b) {
	long long res = 1, mul = a;
	for (int i = 0; i < 31; ++i) {
		if (b >> i & 1) {
			res *= mul;
			res %= MOD;
		}
		mul = (mul * mul) % MOD;
	}

	return res;
}

void addedge(int from, int to, int cost) {
	G[from].push_back({ to,cost });
	G[to].push_back({ from,cost });
}

//↑template↑

char out = 'C';
int main() {
	int a, b, c;
	cin >> a >> b >> c;
	int ans = max({ a,b,c });

	if (ans == a) { out = 'A'; }
	else if (ans == b) { out = 'B'; }

	cout << out << endl;
}

C++: #include <iostream>
#include <fstream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <cstring>
#include <string>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <deque>
#include <algorithm>
#include <array>
#include <bitset>
using namespace std;

#define REP(i,n) for(int i=0; i<n; ++i)
#define FOR(i,a,b) for(int i=a; i<=b; ++i)
#define FORR(i,a,b) for (int i=a; i>=b; --i)
#define ALL(c) (c).begin(), (c).end()

typedef long long ll;
typedef vector<int> VI;
typedef vector<ll> VL;
typedef vector<VI> VVI;
typedef vector<VL> VVL;
typedef pair<int,int> P;
typedef pair<ll,ll> PL;

int in() { int x; scanf("%d", &x); return x; }
ll lin() { ll x; scanf("%lld", &x); return x; }

int main() {
    VI a(3);
    REP(i,3) cin >> a[i];
    int i = max_element(ALL(a)) - a.begin();
    cout << char('A' + i) << endl;
    return 0;
}

C++: #include <bits/stdc++.h>

#define REP(i, n) for(int i = 0; i < (int)(n); i++)
#define INF  numeric_limits<int>::max()
#define NINF numeric_limits<int>::min()

using namespace std;
using ll = long long;

int A, B, C;

int main() {
    cin.tie(0);
    ios::sync_with_stdio(false);

    std::cin >> A >> B >> C;

    int m_val = max({A, B, C});

    if(m_val == A) {
        std::cout << "A" << std::endl;
    }
    else if(m_val == B) {
        std::cout << "B" << std::endl;
    }
    else {
        std::cout << "C" << std::endl;
    }

    return 0;
}