You have a string s of length n consisting of only characters > and <. You may do some operations with this string, for each operation you have to choose some character that still remains in the string. If you choose a character >, the character that comes right after it is deleted (if the character you chose was the last one, nothing happens). If you choose a character <, the character that comes right before it is deleted (if the character you chose was the first one, nothing happens).

For example, if we choose character > in string > > < >, the string will become to > > >. And if we choose character < in string > <, the string will become to <.

The string is good if there is a sequence of operations such that after performing it only one character will remain in the string. For example, the strings >, > > are good. 

Before applying the operations, you may remove any number of characters from the given string (possibly none, possibly up to n - 1, but not the whole string). You need to calculate the minimum number of characters to be deleted from string s so that it becomes good.

Input

The first line contains one integer t (1 ≤ t ≤ 100) – the number of test cases. Each test case is represented by two lines.

The first line of i-th test case contains one integer n (1 ≤ n ≤ 100) – the length of string s.

The second line of i-th test case contains string s, consisting of only characters > and <.

Output

For each test case print one line.

For i-th test case print the minimum number of characters to be deleted from string s so that it becomes good.

Example

Input


3
2
&lt;&gt;
3
&gt;&lt;&lt;
1
&gt;


Output


1
0
0

Note

In the first test case we can delete any character in string <>.

In the second test case we don't need to delete any characters. The string > < < is good, because we can perform the following sequence of operations: > < < → < < → <.
import java.util.*;

public class main{
	static int MAX = 100010;
	static long mod = 1000000007;
	static ArrayList<Integer>[] amp, bmp;
    static boolean b[];
    static Scanner sc = new Scanner(System.in);
	public static void main(String[] args){
		int t = sc.nextInt();
        while(t-->0){
            int n = sc.nextInt();
            sc.nextLine();
            String s = sc.nextLine();
            int len = s.length();
            if(len>1){
                int cnt1 = 0, cnt2 = 0;
                while(cnt1<len){
                    if(s.charAt(cnt1) == '<') cnt1++;
                    else break;
                }
                while(cnt2<len){
                    if(s.charAt(len - cnt2 - 1) == '>') cnt2++;
                    else break;
                }
                System.out.println(Math.min(cnt1,cnt2));
            }
            else System.out.println(0);
        }
	}

    static int dfs(int x){
        b[x] = true;
        int ans = 1;
        for(int i : amp[x]){
            if(!b[i]){
                ans += dfs(i);
            }
        }
        return ans;
    }

    static void buildGraph(int n){
        for(int i=0; i<n; i++){
            int x = sc.nextInt(), y = sc.nextInt(), c = sc.nextInt();
            if (c == 1) {
                bmp[x].add(y);
                bmp[y].add(x);
            }
            else{
                amp[x].add(y);
                amp[y].add(x);
            }
        }
    }

	static long pow(long x, int y, long mod){
		long ans = 1;
		while(y>0){
			if(y%2==0){
				x *= x;
				x %= mod;
				y/=2;
			}
			else{
				y-=1;
				ans *= x;
				ans %= mod;
			}
		}
		return ans;
	}
	class Pair{
		int x, y;
		Pair(int a, int b){
			x = a; y = b;
		}
	}
	public static int[] radixSort(int[] f){ return radixSort(f, f.length); }
	public static int[] radixSort(int[] f, int n)
	{
		int[] to = new int[n];
		{
			int[] b = new int[65537];
			for(int i = 0;i < n;i++)b[1+(f[i]&0xffff)]++;
			for(int i = 1;i <= 65536;i++)b[i]+=b[i-1];
			for(int i = 0;i < n;i++)to[b[f[i]&0xffff]++] = f[i];
			int[] d = f; f = to;to = d;
		}
		{
			int[] b = new int[65537];
			for(int i = 0;i < n;i++)b[1+(f[i]>>>16)]++;
			for(int i = 1;i <= 65536;i++)b[i]+=b[i-1];
			for(int i = 0;i < n;i++)to[b[f[i]>>>16]++] = f[i];
			int[] d = f; f = to;to = d;
		}
		return f;
	}

}