output_description: Print the maximum value taken by x during the operations.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      N
      S
attempt: from sys import stdin
  
  
  def fetch_one_line():
      return stdin.readline().rstrip()
  
  
  def fetch_int_input():
      return [int(s) for s in fetch_one_line().split()]
  
  
  def fetch_inputs(times):
      return [fetch_one_line() for _ in range(times)]
  
  
  def fetch_int_inputs(times):
      return [[int(s) for s in fetch_one_line()] for _ in range(times)]
  
  
  sum = 0
  change = {"I": 1, "D": -1}
  length = int(fetch_one_line())
  target = fetch_one_line()
  records = [0 for _ in range(length)]
  
  for i, t in enumerate(target):
      sum += change[t]
      records[i] = sum
  
  max_val = max(records)
  if max_val < 0:
      max_val = 0
  print(max_val)
  
problem_description: Statement
  
  You have an integer variable x. Initially, x=0.
  
  Some person gave you a string S of length N, and using the string you
  performed the following operation N times. In the i-th operation, you
  incremented the value of x by 1 if S_i=`I`, and decremented the value of x by
  1 if S_i=`D`.
  
  Find the maximum value taken by x during the operations (including before the
  first operation, and after the last operation).
samples: [{"input": "5\n    IIDID", "output": "2\n    \n\nAfter each operation, the value of x becomes 1, 2, 1, 2 and 1, respectively.\nThus, the output should be 2, the maximum value.\n\n* * *"}, {"input": "7\n    DDIDDII", "output": "0\n    \n\nThe initial value x=0 is the maximum value taken by x, thus the output should\nbe 0."}]