using System;
namespace Atcoder20191103
{
class ProgramA
{
static void Main(string args)
{
//入力
string input = Console.ReadLine();
//準備
ulong line = new ulong[10000000]; //<や>の続く数を格納する配列
ulong count = 1; //カウントする数
ulong count_line = 0; //続く数の場所を制御する
ulong sum = 0; //和を求める
ulong start = 1; //最初の文字による比較するところの基準を決める
//例外条件(<や>のみの場合)
if(input.Length == 1)
{
Console.WriteLine("1");
return; //ここで終了
}
//比較していくメイン
for(int i = 1; i < input.Length;i++)
{
//前と同じ場合は続く数を数える。続かない場合はその続いた数を入れて、カウントをリセットする
if(input[i] == input[i - 1])
{
count++;
}
else
{
line[count_line] = count;
count = 1;
count_line++;
}
//最後のときは数えられていないので最後は必ず出力する
if(i == input.Length - 1)
{
line[count_line] = count;
count_line++;
}
}
//それぞれの要素の数を取り出し、1からその数までの和を足す
for(ulong i = 0;i < count_line;i++)
{
ulong plus = line[i] - 1;
sum += (plus + 1) * plus / 2;
}
//先頭がどっちかを見極めて、比較する数値がどちらかを見極める
if(input[0] == '>')
{
start = 2;
sum += line[0];
}
//比較して最大値を求めて足す。
for(ulong i = start;i <= count_line;i = i + 2)
{
if(line[i] > line[i - 1])
sum += line[i];
else
sum += line[i - 1];
}
//総和を出す。
Console.WriteLine(sum);
}
}
}