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.IOException;
    import java.io.PrintWriter;
    import java.util.*;
     
    public class contest {
    	
    	public static void main(String[] args) throws IOException {
    		Scanner sc = new Scanner(System.in);
    		PrintWriter pw = new PrintWriter(System.out);
    		int n = sc.nextInt();
    		String s = sc.next();
    		TreeMap<String,Integer> tr = new TreeMap<String, Integer>();
    		for(int i=0;i<s.length()-1;i++) {
    			String tmp = s.charAt(i)+""+s.charAt(i+1);
    			if(!tr.containsKey(tmp))
    				tr.put(tmp, 0);
    			tr.put(tmp, tr.get(tmp)+1);
    		}
    		String a = tr.firstKey();
    		int c = tr.pollFirstEntry().getValue();
    		while(!tr.isEmpty()) {
    			int c1 = tr.firstEntry().getValue();
    			String t = tr.pollFirstEntry().getKey();
    			if(c1>c){
    				c = c1;
    				a = t;
    			}
    		}
    		pw.println(a);
    		pw.flush();
    		pw.close();
    	}
    }