Two-gram

Two-gram is an ordered pair (i.e. string of length two) of capital Latin letters. For example, “AZ”, “AA”, “ZA” — three distinct two-grams.

You are given a string $s$ consisting of $n$ capital Latin letters. Your task is to find any two-gram contained in the given string as a substring (i.e. two consecutive characters of the string) maximal number of times. For example, for string $s$ = “BBAABBBA” the answer is two-gram “BB”, which contained in $s$ three times. In other words, find any most frequent two-gram.

Note that occurrences of the two-gram can overlap with each other.

Input

The first line of the input contains integer number $n$ ($2 \le n \le 100$) — the length of string $s$. The second line of the input contains the string $s$ consisting of $n$ capital Latin letters.

Output

Print the only line containing exactly two capital Latin letters — any two-gram contained in the given string $s$ as a substring (i.e. two consecutive characters of the string) maximal number of times.

Examples

input

7
ABACABA

output

AB

input

5
ZZZAA

output

ZZ

Note

In the first example “BA” is also valid answer.

In the second example the only two-gram “ZZ” can be printed because it contained in the string “ZZZAA” two times.

Solution:

private fun readLn() = readLine()!! // string line
private fun readInt() = readLn().toInt() // single int
private fun readStrings() = readLn().split(" ") // list of strings
private fun readInts() = readStrings().map { it.toInt() } // list of ints

fun main(args: Array<String>) {
var n = readInt()
var s = readLn()
val alpha = 26
var cnt = Array(alpha, {IntArray(alpha, {0})})
for (i in 0..n-2) {
cnt[s[i] - 'A'][s[i + 1] - 'A']++
}
var mx = 0
var res = ""
for (i in 0..alpha-1) {
for (j in 0..alpha-1) {
if (cnt[i][j] > mx) {
mx = cnt[i][j]
res = ""
res += 'A' + i
res += 'A' + j
}
}
}
println(res)
}