import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] alphabet = new int[26]; // 알파벳 출현빈도를 세기 위한 배열
for(byte val : br.readLine().getBytes()){
if(val>='a'&&val<='z'){ // 소문자일 때
alphabet[val-'a']++; // 대소문자 상관없이 알파벳의 출현빈도를 세기 위해서
}
else if(val>='A'&&val<='Z'){ // 대문자일 때
alphabet[val-'A']++; // 대소문자 상관없이 알파벳의 출현빈도를 세기 위해서
}
}
int max = -1;
char c = '?';
for(int i=0;i<alphabet.length;i++){
if(max<alphabet[i]){
max = alphabet[i]; // 알파벳의 출현빈도를 비교해 가장 큰 값을 찾음
c = (char)('A'+i); // 대문자로 출력하기 위해서
}
else if(max==alphabet[i]){
c = '?'; // 가장 많이 등장한 알파벳이 여러개일 때
}
}
System.out.println(c);
}
}