S = input().strip()

stone = S[0]

ans = 0

for i in range(1,len(S)):

  if stone != S[i]:

    ans += 1

    stone = S[i]

print(ans)
# ans = len(list(more_itertools.unique_justseen(S))) - 1

# としたいが、more_itertoolsは入っていないみたいなので、

# https://github.com/erikrose/more-itertools/blob/master/more_itertools/recipes.py

# にある実装を流用している



def c_1d_reversi(S):

    # 端の同じ色の石は1個の石を置けばひっくり返せる

    # 連続した石をひとまとめにしたとき、何個の石があるかが解を導く



    def unique_justseen(iterable, key=None):

        from itertools import groupby

        from operator import itemgetter

        return list(map(next, list(map(itemgetter(1), groupby(iterable, key)))))



    ans = len(list(unique_justseen(S))) - 1

    return ans



S = eval(input())

print((c_1d_reversi(S)))
S = input().strip()
stone = S[0]
ans = 0
for i in range(1, len(S)):
    if stone != S[i]:
        ans += 1
        stone = S[i]
print(ans)

# ans = len(list(more_itertools.unique_justseen(S))) - 1
# としたいが、more_itertoolsは入っていないみたいなので、
# https://github.com/erikrose/more-itertools/blob/master/more_itertools/recipes.py
# にある実装を流用している
def c_1d_reversi(S):
    # 端の同じ色の石は1個の石を置けばひっくり返せる
    # 連続した石をひとまとめにしたとき、何個の石があるかが解を導く
    def unique_justseen(iterable, key=None):
        from itertools import groupby
        from operator import itemgetter

        return list(map(next, list(map(itemgetter(1), groupby(iterable, key)))))

    ans = len(list(unique_justseen(S))) - 1
    return ans


S = eval(input())
print((c_1d_reversi(S)))

-S = input().strip() -stone = S[0] -ans = 0 -for i in range(1, len(S)): -    if stone != S[i]: -        ans += 1 -        stone = S[i] -print(ans) +# ans = len(list(more_itertools.unique_justseen(S))) - 1 +# としたいが、more_itertoolsは入っていないみたいなので、 +# https://github.com/erikrose/more-itertools/blob/master/more_itertools/recipes.py +# にある実装を流用している +def c_1d_reversi(S): +    # 端の同じ色の石は1個の石を置けばひっくり返せる +    # 連続した石をひとまとめにしたとき、何個の石があるかが解を導く +    def unique_justseen(iterable, key=None): +        from itertools import groupby +        from operator import itemgetter + +        return list(map(next, list(map(itemgetter(1), groupby(iterable, key))))) + +    ans = len(list(unique_justseen(S))) - 1 +    return ans + + +S = eval(input()) +print((c_1d_reversi(S)))