#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  string s;
  cin >> n >> s;
  vector<int> w(0);
  vector<int> b(0);
  if (s.at(0) == '.') {
    w.push_back(1);
    for (int i = 1; i < n; i++) {
      if (s.at(i) == '.') {
        if (s.at(i) == s.at(i - 1)) {
          w.at(w.size() - 1)++;
        } else {
          w.push_back(1);
        }
      } else {
        if (s.at(i) == s.at(i - 1)) {
          b.at(b.size() - 1)++;
        } else {
          b.push_back(1);
        }
      }
    }
    int ans;
    int now = 0;
    if (w.size() < b.size()) {
      w.push_back(0);
    } else if (w.size() > b.size()) {
      b.push_back(0);
    }
    int ookisa = w.size();
    for (int i = 0; i < ookisa; i++) {
      now += w.at(i);
    }
    ans = now;
    for (int i = 0; i < ookisa; i++) {
      now -= w.at(i);
      now += b.at(i);
      if (now < ans) {
        ans = now;
      }
    }
    cout << ans << endl;
  } else {
    b.push_back(1);
    for (int i = 1; i < n; i++) {
      if (s.at(i) == '.') {
        if (s.at(i) == s.at(i - 1)) {
          w.at(w.size() - 1)++;
        } else {
          w.push_back(1);
        }
      } else {
        if (s.at(i) == s.at(i - 1)) {
          b.at(b.size() - 1)++;
        } else {
          b.push_back(1);
        }
      }
    }
    int ans;
    int now = 0;
    if (w.size() < b.size()) {
      w.push_back(0);
    } else if (w.size() > b.size()) {
      b.push_back(0);
    }
    int ookisa = w.size();
    for (int i = 1; i < ookisa; i++) {
      now += w.at(i);
    }
    ans = now;
    for (int i = 0; i < ookisa - 1; i++) {
      now -= w.at(i + 1);
      now += b.at(i);
      if (now < ans) {
        ans = now;
      }
    }
    cout << ans << endl;
  }
}
