Algorithm


A. Subsequence Permutation
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

A string s of length n, consisting of lowercase letters of the English alphabet, is given.

You must choose some number k between 00 and n. Then, you select k characters of s and permute them however you want. In this process, the positions of the other nk�−� characters remain unchanged. You have to perform this operation exactly once.

For example, if s="andrea"�="andrea", you can choose the k=4�=4 characters "a_d_ea""a_d_ea" and permute them into "d_e_aa""d_e_aa" so that after the operation the string becomes "dneraa""dneraa".

Determine the minimum k so that it is possible to sort s alphabetically (that is, after the operation its characters appear in alphabetical order).

Input

The first line contains a single integer t (1t10001≤�≤1000) — the number of test cases. Then t test cases follow.

The first line of each test case contains one integer n (1n401≤�≤40) — the length of the string.

The second line of each test case contains the string s. It is guaranteed that s contains only lowercase letters of the English alphabet.

Output

For each test case, output the minimum k that allows you to obtain a string sorted alphabetically, through the operation described above.

Example
input
Copy
4
3
lol
10
codeforces
5
aaaaa
4
dcba
output
Copy
2
6
0
4
Note

In the first test case, we can choose the k=2�=2 characters "_ol""_ol" and rearrange them as "_lo""_lo" (so the resulting string is "llo""llo"). It is not possible to sort the string choosing strictly less than 22 characters.

In the second test case, one possible way to sort s is to consider the k=6�=6 characters "_o__force_""_o__force_" and rearrange them as "_c__efoor_""_c__efoor_" (so the resulting string is "ccdeefoors""ccdeefoors"). One can show that it is not possible to sort the string choosing strictly less than 66 characters.

In the third test case, string s is already sorted (so we can choose k=0�=0 characters).

In the fourth test case, we can choose all k=4�=4 characters "dcba""dcba" and reverse the whole string (so the resulting string is "abcd""abcd").

 

Code Examples

#1 Code Example with C++ Programming

Code - C++ Programming

#include<bits/stdc++.h>
using namespace std;


#define ll long long
#define endl '\n'
#define debug(n) cout<<(n)<<endl;
const ll INF = 2e18 + 99;

int main(){
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);

  int t;
  cin>>t;
  string s, k;
  while(t--){
    int n;
    cin>>n;
    cin>>s;
    k = s;
    sort(s.begin(), s.end());
    int count = 0;
    for(int i = 0; i < s.length(); i++){
      if(s[i] != k[i]){
        count++;
      }
    }

    cout<<count<<endl;

  }

}
Copy The Code & Try With Live Editor

Input

x
+
cmd
4
3
lol
10v codeforces
5
aaaaa
4
dcba

Output

x
+
cmd
2
6
0
4
Advertisements

Demonstration


Codeforcess Solution 1552-A A. Subsequence Permutation ,C++, Java, Js and Python,1552-A,Codeforcess Solution

Previous
Codeforces solution 1080-B-B. Margarite and the best present codeforces solution
Next
CodeChef solution DETSCORE - Determine the Score CodeChef solution C,C+