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.*;

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

      String s = sc.next();
      int lng = s.length();
      char[] c = new char[lng];
      for(int i=0;i<lng;i++){
        c[i] = s.charAt(i);
      }
      long ans = 0;
      long cnt1 = 0;
      long cnt2 = 0;
      long flag = 0;
      long memo1 = 0;
      long memo2 = 0;
      for(int i=0;i<lng;i++){
///////////////////////////////////////////
        if(c[i]=='>'){
          cnt1++;
          ans += cnt1;
        }
        if(c[i]=='<'){
          cnt2++;
          ans += cnt2;
        }

        if(i!=lng-1){
          if(c[i]=='<' && c[i+1]=='>'){ //<>
            memo2 = cnt2;
            cnt2=0;
          }
          if(c[i]=='>' && c[i+1]=='<'){ //><
            memo1 = cnt1;
            cnt1=0;
            flag=1;
          }
        }
        if(i==lng-1){
          if(c[i]=='>'){
            memo1 = cnt1;
            flag=1;
          }
        }

        if(flag==1){
          flag=0;
          ans -= Math.min(memo1,memo2);
          memo1=0;
          memo2=0;
        }

///////////////////////////////////////////
      }




      System.out.println(ans);

    }
}
