#include //#include //using namespace atcoder; //using mint = modint998244353; using namespace std; struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; using ll= long long; using ull=unsigned long long; using ldo =long double; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (bll sum1(T &a){ll ans = 0;for(ll i=0;ill sum2(T &a,ll start){ll ans = 0;for(ll i=start;ill sum3(T &a,ll start,ll en){ll ans = 0;for(ll i=start;ill sum4(T &a,ll start,ll en,ll tolerance){ll ans = 0;for(ll i=start;i& a){rep(i,a.size(),0){print(a[i]);if(i!=a.size()-1)print(' ');else print();}} void print(vector& a){rep(i,a.size(),0){print(a[i]);if(i!=a.size()-1)print(' ');else print();}} void println(){ putchar('\n'); } void println(bool a){ printf("%d\n", a); } void println(int a){ printf("%d\n", a); } void println(unsigned a){ printf("%u\n", a); } void println(long long a){ printf("%lld\n", a); } void println(unsigned long long a){ printf("%llu\n", a); } void println(char a){ printf("%c\n", a); } void println(char a[]){ printf("%s\n", a); } void println(float a){ printf("%.15f\n", a); } void println(double a){ printf("%.15f\n", a); } void println(long double a){ printf("%.15Lf\n", a); } void println(const string& a){ rep(i,a.size()) print(a[i]); print();} void println(vector& a){rep(i,a.size(),0){print(a[i]);print();}} void println(vector& a){rep(i,a.size(),0){print(a[i]);print();}} int main() { string S; cin>>S; vector z; ll m_len=0,h=0; rep(i,S.size()){ if(S[i]=='<'){ z.push_back(i); } if(S[i]=='>'){ if(z.empty()) continue; if(z.back()==i-1){ z.clear(); h = 0; continue; } m_len+=i-z.back()+1-h; h+=i-z.back()+1; z.pop_back(); } } println(S.size()-m_len); }