Given is a string S of length N-1. Each character in S is `<` or `>`.

A sequence of N non-negative integers, a_1,a_2,\cdots,a_N, is said to be good when the following condition is satisfied for all i (1 \leq i \leq N-1):

* If S_i= `<`: a_i<a_{i+1}
* If S_i= `>`: a_i>a_{i+1}



Find the minimum possible sum of the elements of a good sequence of N non-negative integers.

Constraints

* 2 \leq N \leq 5 \times 10^5
* S is a string of length N-1 consisting of `<` and `>`.

Input

Input is given from Standard Input in the following format:


S


Output

Find the minimum possible sum of the elements of a good sequence of N non-negative integers.

Examples

Input

<>>


Output

3


Input

<>>><<><<<<<>>><


Output

28
import java.util.Scanner;

public class Main {
    private static final int MOD = 1_000_000_007;
    private static final String YES = "Yes";
    private static final String NO = "No";

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        String S = sc.next();

        System.out.println(solve(S));
    }

    private static long solve(String S) {
        long sum = 0;

        long top = 0;
        for (int i=0; i<S.length();) {
            char ch = S.charAt(i);
            long count = 1;

            for (int j=i+1; j<S.length(); j++) {
                if (S.charAt(i) == S.charAt(j)) count++;
                else break;
            }

            if (ch == '<') {
                sum += (count+1) * (0 + count) / 2;
                top = count;
                // System.err.println("<: sum += " + (count * (count+1) / 2));
            } else {
                sum += (count+1) * (0 + count) / 2;
                if (top < count) {
                    sum -= top;
                } else {
                    sum -= count;
                }
                // System.err.println(">: sum += " + (count * (count+1) / 2) + " - " + Math.min(top, count));
            }

            i += count;
        }

        return sum;
    }
}