15
MIRZOYANOVECLOX
 23
AABBBAAACCCCCAAADDDDDDD
 2
QA
 11
GGRRAATTZZZ
 6
AZAZAZ
 10
SQSQSQSQTG
 3
KEK
 100
URXCAIZFIBNJTPCZHBQIBCILLPXZCFGMKKZMNPLCYGAVJVIBMCZEBSJWPSCPQDYCTTKPOKIJRSKIZPDGCHVOUTMPNECYORSFZFNC
 3
LOL
 2
WW
 8
PUTINVOR
 26
QWERTYUIOPASDFGHJKLZXCVBNM
 5
AZAZA
 9
EGORLETOV
 7
KADUROV
 9
MIKEPIDOR
 9
AAAAAAAAA
 100
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 5
FUFEL
 50
NYQAHBYYOXLTRYQDMVENEMAQNBAKGLGQOLXNAIFNQTOCLNNQIA

MI
 DD
 QA
 ZZ
 AZ
 SQ
 KE
 IB
 LO
 WW
 PU
 QW
 AZ
 EG
 KA
 MI
 AA
 AA
 FU
 YQ


import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Two_gram {

    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(reader.readLine());
        char[] c = reader.readLine().toCharArray();
        int[] freq = new int[26 + 26 * 26];
        for (int i = 0; i < n - 1; i++) {
            freq[stringToIndex((c[i] + "" + c[i + 1]))]++;
        }
        int max = 0, index = 0;
        for (int i = 0; i < freq.length; i++) {
            if(freq[i] > max){
                max = freq[i];
                index = i;
            }
        }
        System.out.println(indexToString(index));
    }

    public static int stringToIndex(String s) {
        int n = (s.charAt(0) - 'A') * 26 + (s.charAt(1) - 'A');
        return n;
    }
     public static String indexToString(int index){
         String s = ""+ ((char)(index / 26 + 'A'));
         s += ((char)(index % 26 + 'A'));
         return s;
     }
}
