#include <iostream>
#include <string>

using namespace std;

int count_black_chank(string& s, int index)

int main(int argc, char* argv[]){
    int N;
    string S;

    cin >> N;
    cin >> S;

    // ....##.... -> 中を白にする
    //
    // .#.##.##..##.　-> 
    // ####...###....####.... 白を黒にする 11
    //....####...###....### 
    // #.#  例外　黒の数 > 白の数の場合　白を黒に

    // #..## // 左側の黒の数が右ブロックの白の数より小さい時
    // #..##. // 今のアルゴリズムだと3を返す
    // #..####
    // なんパターン
    // 塗りつぶしor 左白右側黒
    
    bool firstblack= false;
    int wCount = 0;
    int bCount = 0;
    int first_bCount = 0;

    for(int i = 0; i < N; i++){
            if(S[i] == '.' && firstblack == true){
                wCount++;
            }
            if(S[i] == '#'){
                if(firstblack == false){
                    firstblack = true;
                    first_bCount = count_black_chank(S,i);
                }
                bCount++;
            }
    }

    // cout << "w: " << wCount << endl;
    // cout << "b: " << bCount << endl;
        if(bCount > wCount){
            cout <<  wCount << endl;
            }else {
            cout << bCount << endl;
            }

    return 0;
}

int count_black_chank(string& s, int index){
    int count = 1;
    for (int i = 0; i < s.size(); i++){
        if(s[index+1] == '#')count++;
        else return count;
    }
}

int count_white_chank(string& s, int index){
    int count = 1;
    for (int i = 0; i < s.size(); i++){
        if(s[index+1] == '.')count++;
        else return count;
    }
}
