output_description: Print the largest possible number of different letters contained in both X and
  Y.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      S
attempt: a = int(input())
  b = list(input())
  c = []
  h = []
  for k in range(0, a - 1):
      d = []
      c.append(b[k])
      for i in range(k + 1, a):
          d.append(b[i])
      # 	print(c)
      # 	print(d)
      e = []
      for i in c:
          if i not in e:
              e.append(i)
      # 	print(e)
  
      f = []
      for i in d:
          if i not in f:
              f.append(i)
      # 	print(f)
  
      g = 0
      for l in range(len(e)):
          for i in range(len(f)):
              if e[l] == f[i]:
                  g = g + 1
      h.append(g)
  # print(h)
  print(max(h))
  
problem_description: Statement
  
  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.
samples: [{"input": "6\n    aabbca", "output": "2\n    \n\nIf we cut the string between the third and fourth letters into X = `aab` and Y\n= `bca`, the letters contained in both X and Y are `a` and `b`. There will\nnever be three or more different letters contained in both X and Y, so the\nanswer is 2.\n\n* * *"}, {"input": "10\n    aaaaaaaaaa", "output": "1\n    \n\nHowever we divide S, only `a` will be contained in both X and Y.\n\n* * *"}, {"input": "45\n    tgxgdqkyjzhyputjjtllptdfxocrylqfqjynmfbfucbir", "output": "9"}]