using System.Collections.Generic; using System; public class Hello { static void Main() { var s = Console.ReadLine().Trim(); getAns(s); } static void getAns(string s) { var st = new Stack(); var a = getQ(s); foreach (var x in a) { if (x == 0) st.Push(x); else if (x <0) { if (st.Count == 0) { st.Push(x); continue; } if (st.Peek() < 0) { var ww = st.Pop(); ww += x; st.Push(ww); } else st.Push(x); } else { if (st.Count == 0) { st.Push(1); continue; } if (st.Peek() < 0) { var w = st.Pop(); if (st.Count == 0) { st.Push(w); continue; } if (st.Peek() == 0) st.Pop(); else { st.Push(w); st.Push(x); } } else st.Push(x); } } var ans = 0; foreach (var x in st) { if (x >= 0) ans++; else ans += -x; } Console.WriteLine(ans); } static int[] getQ(string s) { var n = s.Length; var q = new Queue(); var f = false; var c = 0; if (s[0] == '<') q.Enqueue(0); else if (s[0] == '>') q.Enqueue(1); else { f = true; c = 1; } for (int i = 1; i < n; i++) { if (s[i] == '=') { if (f) c++; else { f = true; c = 1; } } else { f = false; if (c > 0) { q.Enqueue(-c); c = 0; } if (s[i] == '<') q.Enqueue(0); else q.Enqueue(1); } } if (f) q.Enqueue(-c); return q.ToArray(); } }