B - Increment Decrement 解説 /

実行時間制限: 2 sec / メモリ制限: 256 MB

配点 : 200

問題文

あなたは整数 x を持っています。 最初、x=0 です。

あなたは、長さ N の文字列 S をもらったので、これを使って N 回の操作を行いました。 i 回目の操作では、S_i=I ならば x の値を 1 増やし、S_i=D ならば x の値を 1 減らしました。

操作の途中( 1 回目の操作の前、N 回目の操作の後も含む)で x がとる値の最大値を答えてください。

制約

  • 1≦N≦100
  • |S|=N
  • S には、ID 以外の文字は含まれない

入力

入力は以下の形式で標準入力から与えられる。

N
S

出力

操作の途中での整数 x がとる値の最大値を出力せよ。


入力例 1

5
IIDID

出力例 1

2

それぞれの操作後の x の値は、1,2,1,2,1 となるので、最大値である 2 を出力します。


入力例 2

7
DDIDDII

出力例 2

0

最初の x=0 の状態で x が最大になるので、0 を出力します。

Score : 200 points

Problem 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).

Constraints

  • 1≤N≤100
  • |S|=N
  • No characters except I and D occur in S.

Input

The input is given from Standard Input in the following format:

N
S

Output

Print the maximum value taken by x during the operations.


Sample Input 1

5
IIDID

Sample Output 1

2

After each operation, the value of x becomes 1, 2, 1, 2 and 1, respectively. Thus, the output should be 2, the maximum value.


Sample Input 2

7
DDIDDII

Sample Output 2

0

The initial value x=0 is the maximum value taken by x, thus the output should be 0.