#include <iostream>
#include <algorithm>
#include <numeric>
#include <vector>
#include <list>
#include <queue>
#include <string>
#include <map>
using namespace std;
#define REP(i, a, n) for (int i = ((int)a); i < ((int)n); i++)
#define lli long long int

#define MAX 100'000'000
//#define DEBUG

int N;
string S;
vector<int> ans;

int dx[] = {0, 0, 1, -1};
int dy[] = {1, -1, 0, 0};

void read()
{
    cin >> N >> S;
}

void sol(int n, int an)
{ //ここから#のみ
    for (int i = n; i < N; i++)
    {
        if (S[i] == '.')
        {
            an++;
        }
    }
    ans.push_back(an);
}
void solve()
{
    int an = 0;
    for (int i = 0; i < N; i++)
    {
        if (S[i] == '#')
        {
            sol(i, an);
            an++;
        }
    }
    ans.push_back(an);
}
void prAns()
{
    int printa = MAX;
    for (auto &&i : ans)
    {
        if (printa > i)
        {
            printa = i;
        }
    }
    cout << printa << endl;
}
int main()
{
#ifdef DEBUG
    cout << "DEBUG MODE" << endl;
#else
    cin.tie(0);
    cout.tie(0);
    ios::sync_with_stdio(false);
#endif
    read();
    solve();
    prAns();
    return 0;
}
/* 注意すべき点
グローバル以外の配列は初期化すべし
*/