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").
import java.io.*;
import java.util.*;

public class Code {
    public static void main(String[] args) {
        try {
            FastScanner scn = new FastScanner();
            StringBuilder ans = new StringBuilder();
            int testCase = scn.nextInt();
            for (int i = 0; i < testCase; i++) {
                int n = scn.nextInt();
                String str = scn.next();

                int count = 0;
                int[] arr = new int[26];

                for (int j = 0; j < n; j++) {
                    arr[(int) str.charAt(j) - 97]++;
                }

                StringBuilder ab = new StringBuilder();
                for (int j = 0; j < 26; j++) {
                    if (arr[j] != 0) {
                        for (int j2 = 0; j2 < arr[j]; j2++) {
                            ab.append((char)(j + 97));
                        }
                    }
                }
                for (int j = 0; j < n; j++) {
                    if (ab.charAt(j) != str.charAt(j)) {
                        count++;
                    }
                }

                ans.append(count).append('\n');
            }
            System.out.println(ans);
        } catch (Exception e) {
            return;
        }
    }

    private static boolean nextPermutation(int[] array) {
        boolean hasNext = false;
        int i;
        for (i = array.length - 2; i >= 0; i--) {
            if (array[i] < array[i + 1]) {
                hasNext = true;
                break;
            }
        }
        if (!hasNext) {
            return false;
        }
        int j;
        for (j = i + 1; j < array.length; j++) {
            if (array[j] <= array[i]) {
                break;
            }
        }
        j--;
        swap(array, i, j);
        reverse(array, i + 1, array.length);
        return true;
    }

    private static void swap(int[] array, int i, int j) {
        int temp = array[i];
        array[i] = array[j];
        array[j] = temp;
    }

    private static void reverse(int[] array, int start, int end) {
        for (int i = start, j = end - 1; i < j; i++, j--) {
            swap(array, i, j);
        }
    }
}

class FastScanner {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer st = new StringTokenizer(" ");

    String next() {
        while (!st.hasMoreTokens())
            try {
                st = new StringTokenizer(br.readLine());
            } catch (IOException e) {
                e.printStackTrace();
            }
        return st.nextToken();
    }

    int nextInt() {
        return Integer.parseInt(next());
    }

    int[] readArray(int n) {
        int[] a = new int[n];
        for (int i = 0; i < n; i++)
            a[i] = nextInt();
        return a;
    }

    long nextLong() {
        return Long.parseLong(next());
    }
}