# 左端が黒 - > すべての黒を白にするかすべての白を黒にしなくちゃいけない（反転は2倍ひっくりかえさなければいけないぶん意味がない）
# 左端が白 -> 左端から連続する白を除いたところ以降の白を全て黒にするか、それに加えて連続する黒を除いた黒をすべて白にするか、あるいは左端を含む白をすべて黒にする
n = int(input())
s = input() + "髭"
arr = []
l, r = 0, 0
while l < n:
    while r < n + 1 and s[r] == s[l]:
        r += 1
    arr.append(r - l)
    l = r
ruiseki = [0]
for a in arr:
    ruiseki.append(ruiseki[-1] + a)
if s[0] == "#":
    ans = min(s.count("#"), s.count("."))
    print(ans)
else:
    ans = min(s[ruiseki[1]:].count("#") - (arr[-1] if s[-1] == "#" else 0),
              s[ruiseki[1]:].count("."), s.count("."))
    print(ans)