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 {

    public static void main(String args[]) {

        Scanner sc = new Scanner(System.in);
        String s = "E" + sc.next() + "E";

        long result = 0;
        String[] arrS = s.split("><");

        if (arrS.length > 1) {
            for (int i = 0; i < arrS.length; i++) {
                if (i == 0) {
                    arrS[i] += ">";
                } else if (i == arrS.length - 1) {
                    arrS[i] = "<" + arrS[i];
                } else {
                    arrS[i] = "<" + arrS[i] + ">";
                }
                result += getCount(arrS[i]);
            }

        } else {
            result += getCount(arrS[0]);
        }

        System.out.println(result);
    }

    public static long getCount(String s) {
        s = "E" + s + "E";
        String[] countS = s.split("<>");

        long result = 0;
        if (countS.length < 2) {
            s = s.replace("E", "");
            for (long i = 1; i <= s.length(); i++) {
                result += i;
            }

        } else {

            long left = countS[0].replace("E", "").length() + 1;
            long right = countS[1].replace("E", "").length() + 1;

            long max = Math.max(left, right);
            long min = Math.min(left, right);
            for (long i = 1; i <= max; i++) {
                result += i;
                if (i < min) {
                    result += i;
                }
            }
        }

        return result;
    }

}