You are given a string S of length N consisting of lowercase English letters. We will cut this string at one position into two strings X and Y. Here, we would like to maximize the number of different letters contained in both X and Y. Find the largest possible number of different letters contained in both X and Y when we cut the string at the optimal position.
N = int(input())
S = input()
diff = -1
ans = 0

for i in range(N):
  x = len(set(list(S[0:i])))
  y = len(set(list(S[i:len(S)])))
  if diff < x - y:
    diff = x - y
    ans = min(x, y)

print(ans)
N = int(input())
S = input()
max = 0

for i in range(N):
  x = set(list(S[0:i]))
  y = set(list(S[i:len(S)]))
  if len(x & y) > max:
    max = len(x & y)

print(max)