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.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		String s = sc.next();
		sc.close();

		char[] c = s.toCharArray();
		int n = c.length + 1;
		int[] a = new int[n];
		Arrays.fill(a, Integer.MIN_VALUE);
		if (c[0] == '<') {
			a[0] = 0;
		}
		if (c[c.length - 1] == '>') {
			a[c.length] = 0;
		}
		for (int i = 0; i < c.length - 1; i++) {
			if (c[i] == '>' && c[i + 1] == '<') {
				a[i + 1] = 0;
			}
		}
		for (int i = 0; i < a.length; i++) {
			if (a[i] == 0) {
				for (int j = i - 1; j >= 0; j--) {
					if (c[j] == '>') {
						a[j] = Math.max(a[j], a[j + 1] + 1);
					} else {
						break;
					}
				}
				for (int j = i; j < c.length; j++) {
					if (c[j] == '<') {
						a[j + 1] = a[j] + 1;
					} else {
						break;
					}
				}
			}
		}
		long ans = 0;
		for (int i = 0; i < a.length; i++) {
			ans += a[i];
		}
		System.out.println(ans);
	}
}
