# 左端が黒 - > すべての黒を白にするかすべての白を黒にしなくちゃいけない（反転は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] == "#":
    h = 0
    if s[-2] == "#":
        h = arr[-1]
    else:
        h = arr[0] + arr[-1]
    ans = min(s.count("#") - h, s.count("."))
    print(ans)
else:
    h = 0
    if s[-2] == "#":
        h = arr[-1]
    ans = min(s[ruiseki[1]:].count("#") - h, s[ruiseki[1]:].count("."),
              s.count("."))
    print(ans)