import bisect

N = int(eval(input()))

S = eval(input())

# 右全部#

b = []

w = []

for i in range(N):

    if S[i] == '#':

        b.append(i)

    if S[i] == '.':

        w.append(i)



kouho = []

for i in range(0,N+1):

    cost = 0

    #iより右にある白の数

    cost += len(w) - bisect.bisect_left(w,i)

    #iより左にある黒の数

    cost += bisect.bisect_left(b,i)

    

    if cost >= 0:

        kouho.append(cost)



print((min(kouho)))
N = int(eval(input()))

S = eval(input())



# 右全部#にする



w = S.count('.')



ans = 10**9

cost = 0

for c in S:

    if c == '.':

        # 今見てる所以降全部白にする事を考える

        w -= 1

        # まだ見てない白の数 + 今まで白にした黒のコストが答え候補

        if w + cost < ans:

            ans = w + cost

    else:

        # 今見てる所が黒の場合、白の個数は減らない

        if w + cost< ans:

            ans = w + cost

        # 以降の計算に向けてコストを1増やす

        cost += 1



print(ans)
import bisect

N = int(eval(input()))
S = eval(input())
# 右全部#
b = []
w = []
for i in range(N):
    if S[i] == "#":
        b.append(i)
    if S[i] == ".":
        w.append(i)
kouho = []
for i in range(0, N + 1):
    cost = 0
    # iより右にある白の数
    cost += len(w) - bisect.bisect_left(w, i)
    # iより左にある黒の数
    cost += bisect.bisect_left(b, i)
    if cost >= 0:
        kouho.append(cost)
print((min(kouho)))

N = int(eval(input()))
S = eval(input())
# 右全部#にする
w = S.count(".")
ans = 10**9
cost = 0
for c in S:
    if c == ".":
        # 今見てる所以降全部白にする事を考える
        w -= 1
        # まだ見てない白の数 + 今まで白にした黒のコストが答え候補
        if w + cost < ans:
            ans = w + cost
    else:
        # 今見てる所が黒の場合、白の個数は減らない
        if w + cost < ans:
            ans = w + cost
        # 以降の計算に向けてコストを1増やす
        cost += 1
print(ans)

-import bisect - -# 右全部# -b = [] -w = [] -for i in range(N): -    if S[i] == "#": -        b.append(i) -    if S[i] == ".": -        w.append(i) -kouho = [] -for i in range(0, N + 1): -    cost = 0 -    # iより右にある白の数 -    cost += len(w) - bisect.bisect_left(w, i) -    # iより左にある黒の数 -    cost += bisect.bisect_left(b, i) -    if cost >= 0: -        kouho.append(cost) -print((min(kouho))) +# 右全部#にする +w = S.count(".") +ans = 10**9 +cost = 0 +for c in S: +    if c == ".": +        # 今見てる所以降全部白にする事を考える +        w -= 1 +        # まだ見てない白の数 + 今まで白にした黒のコストが答え候補 +        if w + cost < ans: +            ans = w + cost +    else: +        # 今見てる所が黒の場合、白の個数は減らない +        if w + cost < ans: +            ans = w + cost +        # 以降の計算に向けてコストを1増やす +        cost += 1 +print(ans)