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) {
        new Main().run();
    }

    private void run() {
        Scanner scanner = new Scanner(System.in);
        String S = scanner.next();
        long[] map = new long[1000000];
        int x = 0;
        char which = S.charAt(0);
        map[x] = 1;
        for (int i = 1; i < S.length(); i++) {
            if (S.charAt(i) == which) {
                map[x]++;
            } else {
                which = S.charAt(i);
                x++;
                map[x]++;
            }
        }
        long ans = 0;
        boolean bigger = false;
        if (S.charAt(0) == '<') bigger = true;
        if(!bigger) ans += map[0];
        for (int i = 0; 0 != map[i]; i++) {
            for (long j = 1; j < map[i]; j++) {
                ans += j;
            }
            if(bigger && map[i+1] != 0) {
                ans += Math.max(map[i], map[i+1]);
            }else if(bigger && map[i+1] == 0){
                ans += map[i];
                break;
            }
            bigger = !bigger;
        }

        System.out.println(ans);
    }

}
