import sys import math from itertools import product, permutations, combinations, accumulate from heapq import heapify, heappush, heappop from collections import deque, defaultdict, Counter from bisect import bisect, bisect_left, bisect_right from copy import copy, deepcopy #from sortedcontainers import SortedSet, SortedList, SortedDict sys.setrecursionlimit(10**7) INF = float('inf') LINF = 1 << 60 MOD = 10**9+7 def mii(): return map(int, sys.stdin.readline().split()) S = input() N = len(S) st = deque() cut = 0 cur = 0 now = 0 for i in range(N): c = S[i] if c == "<": st.append((i, "<")) elif c == "=": st.append((i, "=")) elif c == ">": cnt = 0 while len(st) > 0 and st[-1][1] == "=": cnt += 1 st.pop() if len(st) == 0: continue if cnt == 0: st.clear() cut += now now = 0 continue if st[-1][1] == "<": now += cnt + 2 st.pop() else: st.clear() cut += now now = 0 cut += now print(N - cut)