|
2018年12月10日
情報オリンピック日本委員会
|
JOI 君はマルスタンプ,バツスタンプ,マルバツスタンプの3種類のスタンプをそれぞれ 0 個以上持っている.これらはマルやバツのマークを紙に印字することができるスタンプである.
マルスタンプを使うとマルが 1 つ印字され,バツスタンプを使うとバツが 1 つ印字される.マルバツスタンプを使うとマルとバツが横一列に 1 つずつ印字され,スタンプの向きを変えることで,マルの右にバツが来るようにも,バツの右にマルが来るようにも印字できる.
JOI 君は,持っているスタンプをそれぞれちょうど 1 回ずつ適当な順番で使い,紙に横一列にマルとバツを印字した.印字されたマルとバツの列は文字列 S で表される.S は O
と X
から構成された長さ N の文字列であり,S_i = O
ならば JOI 君が印字したマークのうち左から i 番目のものがマルであることを表し,S_i = X
ならばそれがバツであることを表す (1 ≦ i ≦ N).
あなたは,JOI 君が持っているスタンプの個数は分からないが,JOI 君が印字したマルとバツの列は知っている.印字されたマルとバツの列から,JOI 君が持っているマルバツスタンプの個数としてあり得るもののうち最大値を求めよ.
O
か X
である.
入力
入力は以下の形式で標準入力から与えられる.
N
S
出力
JOI 君が持っているマルバツスタンプの個数としてあり得るもののうち最大値を出力せよ.
入力例 1
5
OXXOX
出力例 1
2
JOI 君が印字したマークは,左から順に,マル,バツ,バツ,マル,バツである.JOI 君がマルスタンプ,バツスタンプ,マルバツスタンプをそれぞれ 0, 1, 2 個持っているとすると,以下の順番でスタンプを使えば,そのようにマークを印字することができる.
マルバツスタンプを 3 個以上持っているケースは考えられないので,2 を出力する.
入力例 2
14
OXOXOXOXXOXOXO
出力例 2
7
入力例 3
10
OOOOOOOOOO
出力例 3
0