Problem:
Score : 300 points

Problem Statement

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.

Sample Input 1

<>>

Sample Output 1

3

a=(0,2,1,0) is a good sequence whose sum is 3.
There is no good sequence whose sum is less than 3.

Sample Input 2

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

Sample Output 2

28

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Wrong Answer)

import java.util.Scanner;

public class Main {
	static int M;
	static int con=1;
	static int ans;

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

		for(int i=0; i<s.length(); i++) {
			try{
				if(s.charAt(i)==s.charAt(i+1)) {
				con++;
				} else {
					if(s.charAt(i)=='<') {
						cre(con);
					} else {
						dec(con);
					}
					con=1;
				}
			} catch(Exception e) {
				if(s.charAt(i)=='<') {
					cre(con);
				} else {
					dec(con);
				}
			}
		}
		System.out.println(ans);
	}
	static void cre(int count) {
		//if < keep M
		M=count;
		add(count);
	}
	static void dec(int count) {
		//if > 比較 M, M reset
		if(M<=count) {
			ans-=M;
			add(count);
		} else {
			add(count-1);
		}
		if(count<M) {
			
		}
		M=0;
	}
	static void add(int num) {
		ans+=num;
		if(num>1) {
			add(num-1);
		}
	}

}