#include <bits/stdc++.h>
using namespace std;
int b[50];
int c[50];
int change(string s) {
  if (s == "a") return 1;
  if (s == "b") return 2;
  if (s == "c") return 3;
  if (s == "d") return 4;
  if (s == "e") return 5;
  if (s == "f") return 6;
  if (s == "g") return 7;
  if (s == "h") return 8;
  if (s == "i") return 9;
  if (s == "j") return 10;
  if (s == "k") return 11;
  if (s == "l") return 12;
  if (s == "m") return 13;
  if (s == "n") return 14;
  if (s == "o") return 15;
  if (s == "p") return 16;
  if (s == "q") return 17;
  if (s == "r") return 18;
  if (s == "s") return 19;
  if (s == "t") return 20;
  if (s == "u") return 21;
  if (s == "v") return 22;
  if (s == "w") return 23;
  if (s == "x") return 24;
  if (s == "y") return 25;
  if (s == "z") return 26;
}
int main() {
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    string stringg;
    cin >> stringg;
    int f = 0;
    for (int i = 0; i < stringg.size(); i++) {
      string k;
      k = stringg.substr(i, 1);
      f++;
      b[f] = change(k);
    }
    for (int i = 1; i <= n; i++) {
      c[i] = b[i];
    }
    sort(c + 1, c + n + 1);
    int cnt = 0;
    for (int i = 1; i <= n; i++) {
      if (b[i] != c[i]) cnt++;
    }
    cout << cnt << endl;
    memset(b, 127, sizeof(b));
    memset(c, 127, sizeof(c));
  }
}

### Prompt

Please formulate a CPP solution to the following problem:

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

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

For example, if s="andrea", you can choose the k=4 characters "a_d_ea" and permute them into "d_e_aa" so that after the operation the string becomes "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 (1 ≤ t ≤ 1000) — the number of test cases. Then t test cases follow.

The first line of each test case contains one integer n (1 ≤ n ≤ 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


4
3
lol
10
codeforces
5
aaaaa
4
dcba


Output


2
6
0
4

Note

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

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

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

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

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
int b[50];
int c[50];
int change(string s) {
  if (s == "a") return 1;
  if (s == "b") return 2;
  if (s == "c") return 3;
  if (s == "d") return 4;
  if (s == "e") return 5;
  if (s == "f") return 6;
  if (s == "g") return 7;
  if (s == "h") return 8;
  if (s == "i") return 9;
  if (s == "j") return 10;
  if (s == "k") return 11;
  if (s == "l") return 12;
  if (s == "m") return 13;
  if (s == "n") return 14;
  if (s == "o") return 15;
  if (s == "p") return 16;
  if (s == "q") return 17;
  if (s == "r") return 18;
  if (s == "s") return 19;
  if (s == "t") return 20;
  if (s == "u") return 21;
  if (s == "v") return 22;
  if (s == "w") return 23;
  if (s == "x") return 24;
  if (s == "y") return 25;
  if (s == "z") return 26;
}
int main() {
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    string stringg;
    cin >> stringg;
    int f = 0;
    for (int i = 0; i < stringg.size(); i++) {
      string k;
      k = stringg.substr(i, 1);
      f++;
      b[f] = change(k);
    }
    for (int i = 1; i <= n; i++) {
      c[i] = b[i];
    }
    sort(c + 1, c + n + 1);
    int cnt = 0;
    for (int i = 1; i <= n; i++) {
      if (b[i] != c[i]) cnt++;
    }
    cout << cnt << endl;
    memset(b, 127, sizeof(b));
    memset(c, 127, sizeof(c));
  }
}

```