#include <bits/stdc++.h>
using namespace std;
struct p {
  char s;
  int num;
} b[200009];
int main() {
  int mini = 1e9, n, k = 0, num[200009], num2[200009], ans = 0, ans1 = 0;
  char a[200009];
  scanf("%d%s", &n, a);
  for (int i = 0; i < strlen(a);) {
    char tmp = a[i];
    int cnt = 0;
    while (a[i] == tmp && i < strlen(a)) {
      cnt++;
      i++;
    }
    b[k].s = tmp;
    b[k].num = cnt;
    k++;
  }
  for (int i = 0; i < k; i++) {
    if (b[i].s == '.') {
      ans += b[i].num;
      num[i] = ans;
    } else {
      ans1 += b[i].num;
      num2[i] = ans1;
    }
  }
  for (int i = 0; i < k; i++) {
    if (b[i].s == '.') {
      if (i - 1 >= 0) {
        if (b[k - 1].s == '.')
          mini = min(mini, num2[i - 1] + num[k - 1] - num[i]);
        else
          mini = min(mini, num2[i - 1] + num[k - 2] - num[i]);
      } else {
        if (b[k - 1].s == '.')
          mini = min(mini, num[k - 1] - num[i]);
        else
          mini = min(mini, num[k - 2] - num[i]);
      }
    } else {
      if (i - 1 >= 0) {
        if (b[k - 1].s == '.')
          mini = min(mini, num2[i] + num[k - 1] - num[i - 1]);
        else
          mini = min(mini, num2[i] + num[k - 2] - num[i - 1]);
      } else {
        if (b[k - 1].s == '.')
          mini = min(mini, num2[i] + num[k - 1]);
        else
          mini = min(mini, num2[i] + num[k - 2]);
      }
    }
  }
  if (b[k - 1].s == '.')
    mini = min(mini, num[k - 1]);
  else
    mini = min(mini, num[k - 2]);
  printf("%d", mini);
  return 0;
}
