Go: package main

import "fmt"

func max(a, b int) int {
	if a < b {
		return b
	}
	return a
}

func max3(a, b, c int) int {
	return max(max(a, b), c)
}

func main() {
	var (
		a, b, c int
		ch      byte
	)
	fmt.Scanln(&a, &b, &c)
	m := max3(a, b, c)
	switch m {
	case a:
		ch = 'A'
	case b:
		ch = 'B'
	case c:
		ch = 'C'
	}
	fmt.Printf("%c\n", ch)
}

C++: #include<iostream>
#include<string>
#include<iomanip>
#include<cmath>
#include<vector>
#include<algorithm>

using namespace std;

#define int long long
#define rep(i,n) for(int i = 0; i < (n); i++)
#define INF ((long long)1e18)
#define MOD ((int)1e9+7)
#define endl "\n"

#define yn(f) ((f)?"Yes":"No")
#define YN(f) ((f)?"YES":"NO")

#define MAX

signed main(){
	cin.tie(0);
	ios::sync_with_stdio(false);
	cout<<fixed<<setprecision(10);
	
	int a[4], b, c, ans;
	
	cin>>a[0]>>a[1]>>a[2];
	
	
	if(a[0] > a[1] && a[0] > a[2]) {
		cout<<'A'<<endl;
	} 
	else if(a[1] > a[0] && a[1] > a[2]){
		cout<<'B'<<endl;
	} else {
		cout<<'C'<<endl;
	}
	
	return 0;
}

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

signed main(){

    char c[3] = {'A', 'B', 'C'};
    vector<pair<int, char> > v(3);
    for(int i = 0; i < 3; i++){
        int x; cin >> x;
        v[i] = {x, c[i]};
    }

    sort(v.begin(), v.end());
    cout << v[2].second << endl;
    
    return 0;
}

C++: //#include "bits/stdc++.h"
#include <iostream>
#include <vector>
#include <map>
#include <utility>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <stack>
#include <queue>
#include <set>
#include <unordered_map>
#include <unordered_set>
#include <numeric>
#include <complex>
#include <bitset>
#include <functional>
#include <stack>
#include <regex>
#include <tuple>
#include <iomanip>

#define int long long
#define REP(i,l,r) REPEAT(i,l,r,true) // [l, r)
#define rep(i,n) REP(i,0,n)           // [0, n)
#define REPEAT(i,l,r,condition) for(int i=(condition)?l:r-1;(condition)?i<r:i>=l;(condition)?++i:--i) // false<-[l, r)->true
#define all(e) e.begin(),e.end()
#define rall(e) e.rbegin(),e.rend()
#define pb push_back
#define fs first
#define sc second
#define show(...) cerr<<#__VA_ARGS__<<" = ";_DEBUG(__VA_ARGS__)
#define showlr(n,l,r) cerr<<#n<<" = ";for(int i=l;i<r;i++){cerr<<n[i]<<", ";}cerr<<endl // [l, r)

#define YN(condition) puts((condition)?"YES":"NO")
#define Yn(condition) puts((condition)?"Yes":"No")
#define yn(condition) puts((condition)?"yes":"no")
#define YES puts("YES")
#define Yes puts("Yes")
#define yes puts("yes")
#define NO  puts("NO")
#define No  puts("No")
#define no  puts("no")

#define case(i) printf("Case #%lld: ",i)

using namespace std;

using vi=vector<int>;
using pint=pair<int,int>;

struct io{io(){cin.tie(0);ios::sync_with_stdio(false);cout.tie(0);cout<<fixed<<setprecision(20);}}io;

template<class T> istream& operator >>(istream &is, vector<T> &v){for(T &e:v)is>>e;return is;}
template<class T> ostream& operator <<(ostream &os, vector<T> v){os<<"{";for(T &e:v)os<<e<<(v.size()-(int)(&e-&v[0])>1?", ":"");os<<"}";return os;}

void _DEBUG(){}
template<typename H,typename... T> void _DEBUG(H a,T...b){cerr<<a<<(sizeof...(b)?",":"\n");_DEBUG(b...);}

inline void in(){}
template<typename H,typename... T>void in(H &a, T&... b){cin>>a;in(b...);}
inline void out(){}
template<typename H,typename... T> void out(H a, T... b){cout<<a<<(sizeof...(b)?" ":"\n");out(b...);}

template<class T> void resz(int n,T& v){v.resize(n);}
template<class H,class... T> void resz(int n,H& a,T&... b){a.resize(n);resz(n,b...);}

template<typename V,typename H> void resize(vector<V>& v,const H a){v.resize(a);}
template<typename V,typename H,typename... T> void resize(vector<V>& v,const H& a,const T... b){v.resize(a);for(auto &v:v) resize(v,b...);}

const int INF=1LL<<55;
const int MOD=1000000007;
const double EPS=1e-8;

int a,b,c;

signed main(){
    in(a,b,c);
    if(a>b&&a>c){
        out("A");
    }else if(b>a&&b>c){
        out("B");
    }else{
        out("C");
    }

    return 0;
}

C++: #include <bits/stdc++.h>
typedef long long ll;
typedef long double ld;
const int INF=1e9,MOD=1e9+7;
const ll LINF=1e18;
using namespace std;
#define int long long

signed main(){
  std::vector<int> v(3);
  for(int i=0;i<3;i++)cin>>v[i];
  int a=v[0];int m=0;
  if(v[1]>a){a=v[1];m=1;}
  if(v[2]>a){a=v[2];m=2;}
  if(m==0)cout<<"A"<<endl;
  if(m==1)cout<<"B"<<endl;
  if(m==2)cout<<"C"<<endl;
}

C++: #include<bits/stdc++.h>
typedef long long int ll;
typedef unsigned long long int ull;
#define BIG_NUM 2000000000
#define HUGE_NUM 99999999999999999
#define MOD 1000000007
#define EPS 0.000000001
using namespace std;


#define NUM 200005

int A,B,C;

int main(){

	scanf("%d %d %d",&A,&B,&C);

	if(A > B && A > C){

		printf("A\n");
	}else if(B > A && B > C){

		printf("B\n");
	}else{

		printf("C\n");
	}

	return 0;
}

C++: #include<iostream>
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;
    return 0;
}

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;
}