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.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;

public class Main {

    void run() {
        Scanner sc = new Scanner(System.in);
        char[] arr = sc.next().toCharArray();
        int n = arr.length;

        long sum = 0;

        int current = 0;
        int max = 0;
        for (int i = 0; i < n; i++) {
            if (arr[i] == '<') {
                current++;
                max = Math.max(max, current);
            } else {
                current = 0;
            }
            sum += current;
        }
//        debug(sum, max, current);

        current = 0;
        int min = 0;
        for (int i = 0; i < n; i++) {
            if (arr[i] == '>') {
                current--;
                min = Math.min(min, current);
            } else {
                current = 0;
            }
            sum += Math.abs(current);
        }
//        debug(sum, min, current);

        List<Integer> list = new ArrayList<>();
        int c = 1;
        for (int i = 0; i < n - 1; i++) {
            if (arr[i] == arr[i + 1]) c++;
            else {
                list.add(c);
                c = 1;
            }
        }
        list.add(c);
        int n2 = list.size();

//        debug(list);

        if (arr[0] == '<') {
            for (int i = 0; i < n2 - 1; i = i + 2) {
                int x = Math.min(list.get(i), list.get(i + 1));
//            debug(sum, x);
                sum -= x;
            }
        } else {
            for (int i = 1; i < n2 - 1; i = i + 2) {
                int x = Math.min(list.get(i), list.get(i + 1));
//            debug(sum, x);
                sum -= x;
            }
        }


        System.out.println(sum);

    }

    void debug(Object... os) {
        System.err.println(Arrays.deepToString(os));
    }

    public static void main(String[] args) {
        new Main().run();
    }
}
