#include<bits/stdc++.h>

int main(){
	int n;
	scanf("%d", &n);
	std::string s;
	std::cin >> s;
	std::string t;
	t = s;
	std::sort(t.begin(), t.end());

	int ans = 0;
	for(int i=0; i<n; i++){
		if(t[i]=='W') break;
		if(s[i]=='W') ans++;
	}
	printf("%d\n", ans);
	return 0;
}

### Prompt

Generate a Cpp solution to the following problem:

An altar enshrines N stones arranged in a row from left to right. The color of the i-th stone from the left (1 \leq i \leq N) is given to you as a character c_i; `R` stands for red and `W` stands for white.

You can do the following two kinds of operations any number of times in any order:

* Choose two stones (not necessarily adjacent) and swap them.
* Choose one stone and change its color (from red to white and vice versa).



According to a fortune-teller, a white stone placed to the immediate left of a red stone will bring a disaster. At least how many operations are needed to reach a situation without such a white stone?

Constraints

* 2 \leq N \leq 200000
* c_i is `R` or `W`.

Input

Input is given from Standard Input in the following format:


N
c_{1}c_{2}...c_{N}


Output

Print an integer representing the minimum number of operations needed.

Examples

Input

4
WWRR


Output

2


Input

2
RR


Output

0


Input

8
WRWWRWRR


Output

3

### Response

```cpp
#include<bits/stdc++.h>

int main(){
	int n;
	scanf("%d", &n);
	std::string s;
	std::cin >> s;
	std::string t;
	t = s;
	std::sort(t.begin(), t.end());

	int ans = 0;
	for(int i=0; i<n; i++){
		if(t[i]=='W') break;
		if(s[i]=='W') ans++;
	}
	printf("%d\n", ans);
	return 0;
}

```