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) {
    Scanner sc = new Scanner(System.in);
    String S = sc.next();

    long ans = 0;

    int cntG = 0;
    int cntS = 0;
    char prev='<';
    for (int i = 0; i < S.length() ; i++) {
      char c = S.charAt(i);

      if(c=='<'){
        if(prev == '<'){  //<<
          cntG++;
        }else{//    ><
          cntS++;
          ans +=calc(cntG,cntS);
          cntG=1;
          cntS=0;
        }
      }else{// >
        if(prev == '>'){
          cntS++;
        }else{//  <>
          //nothing
        }
      }
      prev = c;
    }

    if(prev=='<'){
//      cntG++;
    }else{//>
      cntS++;
    }

    if(cntG!=0 || cntS!=0){
      ans += calc(cntG,cntS);
    }

    System.out.println(ans);

  }
  static long calc(long cntG,long cntS){
      return Math.max(cntG,cntS) + cntG*(cntG-1)/2 +cntS*(cntS-1)/2;
  }

}
