import java.io.BufferedReader
import java.io.InputStreamReader
import java.io.PrintWriter
import kotlin.math.min

val br = BufferedReader(InputStreamReader(System.`in`))
val out = PrintWriter(System.out)

fun main() {
    br.use { out.use {
        solve()
        out.flush()
    } }
}

fun solve() {
    // #. NG
    // .# OK

    val n = readInteger()
    val s = br.readLine()!!

    val allWhite = s.count { it == '#' }
    val allBrack = s.count { it == '.' }
    var tmp = s.dropWhile { it == '.' }.count { it == '.' }
    val ans = min(min(allBrack, allWhite), tmp)
    out.println(tmp)
}

fun readInteger() = Integer.parseInt(br.readLine())
fun readLong() = java.lang.Long.parseLong(br.readLine())
fun readStringList() = br.readLine()!!.split(' ')
fun readIntegerList() = readStringList().map(Integer::parseInt)
fun readLongList() = readStringList().map(java.lang.Long::parseLong)
fun readDoubleList() = readStringList().map(java.lang.Double::parseDouble)
