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.util.*;
public class main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int lengthOfString = sc.nextInt();
		String s = sc.next();
		Map<String, Integer> map = new TreeMap<String, Integer>();
		String largestKey = "";
		
		for(int i = 1; i < lengthOfString; i++) {
			String currentTwoGram = s.charAt(i-1) + "" + s.charAt(i);
			if(map.containsKey(currentTwoGram)) {
				int newMapValue = map.get(currentTwoGram) + 1;
				map.put(currentTwoGram, newMapValue);
				if(largestKey == "") {
					largestKey = currentTwoGram;
				}else {
					if(map.get(largestKey) < newMapValue) {
						largestKey = currentTwoGram;
					}
				}
			}else {
				map.put(currentTwoGram, 1);
				if(largestKey == "") {
					largestKey = currentTwoGram;
				}else {
					if(map.get(largestKey) < 1) {
						largestKey = currentTwoGram;
					}
				}
			}
		}
		System.out.println(largestKey);
	}
}