#include <bits/stdc++.h>
using namespace std;
int main( ) {
int n,m,s= 0 ,d= 0 ,v;
char c;
scanf ( "%d %d" ,& n,& m) ;
string st; cin >> st;
if ( st[ 0 ] == '.' ) { d++ ; s++ ; }
for ( int i= 1 ; i< n; i++ )
if ( i== n- 1 && st[ i] == '.' && st[ i- 1 ] ! = '.' ) ;
else if ( st[ i] == '.' ) { d++ ; if ( st[ i- 1 ] ! = '.' ) s++ ; }
else if ( ( i== 1 && st[ 0 ] == '.' ) || ( i! = 1 && st[ i- 2 ] ! = '.' ) ) { d-- ; s-- ; }
for ( i= 0 ; i< m; i++ ) {
scanf ( "%d %c" ,& v,& c) ; // v-1 , c
if ( v== 1 ) {
if ( c! = '.' && st[ v- 1 ] == '.' && st[ v] == '.' ) {
if ( st[ v+ 1 ] == '.' ) d-- ;
else { s-- ; d-- ; }
} else if ( c== '.' && st[ v- 1 ] ! = '.' && st[ v] == '.' ) {
if ( st[ v+ 1 ] ! = '.' ) { s++ ; d++ ; }
else d++ ;
}
} else if ( v== n) {
if ( c! = '.' && st[ v- 1 ] == '.' && st[ v- 2 ] == '.' ) {
if ( st[ v- 3 ] == '.' ) d-- ;
else { s-- ; d-- ; }
} else if ( c== '.' && st[ v- 1 ] ! = '.' && st[ v- 2 ] == '.' ) {
if ( st[ v- 3 ] ! = '.' ) { s++ ; d++ ; }
else d++ ;
}
} else {
if ( c! = '.' && st[ v- 1 ] == '.' ) {
if ( st[ v- 2 ] == '.' && st[ v] == '.' )
} else if ( c== '.' && st[ v- 1 ] ! = '.' ) {
if ( ( st[ v- 2 ] == '.' && st[ v] ! = '.' ) || ( st[ v- 2 ] ! = '.' && st[ v] == '.' ) ) { d+ = 2 ; s++ ; }
else if ( st[ v- 2 ] == '.' && st[ v] == '.' ) {
if ( v== 2 ) {
if ( st[ v+ 1 ] == '.' ) d+ = 2 ;
else { d+ = 3 ; s++ ; }
} else if ( v== n- 1 ) {
if ( st[ v- 3 ] == '.' ) d+ = 2 ;
else { d+ = 3 ; s++ ; }
} else {
}
}
}
}
}
// printf("%d %d\n",d,s);
/*
for(i=0;i<m;i++){
res=0,count=0;
scanf("%d %c",&v,&c);
s[v-1]=c;
for(j=0;j<n;j++)
if(s[j]=='.'){
count++;
if(j==(n-1) && count>=2) res+=(count-1);
}else{
if(count>=2) res+=(count-1);
count=0;
}
printf("%d\n",res);
}
*/
return 0 ;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCkgewoJaW50IG4sbSxzPTAsZD0wLHY7CgljaGFyIGM7CglzY2FuZigiJWQgJWQiLCZuLCZtKTsKCXN0cmluZyBzdDsgY2luPj5zdDsKCglpZihzdFswXT09Jy4nKXsgZCsrOyBzKys7IH0KCWZvcihpbnQgaT0xO2k8bjtpKyspCgkJaWYoaT09bi0xICYmIHN0W2ldPT0nLicgJiYgc3RbaS0xXSE9Jy4nKSA7IAoJCWVsc2UgaWYoc3RbaV09PScuJykgeyBkKys7IGlmKHN0W2ktMV0hPScuJykgcysrOyB9CgkJZWxzZSBpZiggKGk9PTEgJiYgc3RbMF09PScuJykgfHwgKGkhPTEgJiYgc3RbaS0yXSE9Jy4nKSApIHsgZC0tOyBzLS07IH0KCQoJZm9yKGk9MDtpPG07aSsrKXsKCQlzY2FuZigiJWQgJWMiLCZ2LCZjKTsgLy8gdi0xICwgYwoJCWlmKHY9PTEpewoJCQlpZihjIT0nLicgJiYgc3Rbdi0xXT09Jy4nICYmIHN0W3ZdPT0nLicgKXsKCQkJCWlmKHN0W3YrMV09PScuJykgZC0tOwoJCQkJZWxzZSB7IHMtLTsgZC0tOyB9CgkJCX1lbHNlIGlmKGM9PScuJyAmJiBzdFt2LTFdIT0nLicgJiYgc3Rbdl09PScuJyl7CgkJCQlpZihzdFt2KzFdIT0nLicpIHsgcysrOyBkKys7IH0KCQkJCWVsc2UgZCsrOwoJCQl9CgkJfWVsc2UgaWYodj09bil7CgkJCWlmKGMhPScuJyAmJiBzdFt2LTFdPT0nLicgJiYgc3Rbdi0yXT09Jy4nICl7CgkJCQlpZihzdFt2LTNdPT0nLicpIGQtLTsKCQkJCWVsc2UgeyBzLS07IGQtLTsgfQoJCQl9ZWxzZSBpZihjPT0nLicgJiYgc3Rbdi0xXSE9Jy4nICYmIHN0W3YtMl09PScuJyl7CgkJCQlpZihzdFt2LTNdIT0nLicpIHsgcysrOyBkKys7IH0KCQkJCWVsc2UgZCsrOwoJCQl9CgkJfWVsc2V7CgkJCWlmKGMhPScuJyAmJiBzdFt2LTFdPT0nLicgKXsKCQkJCWlmKHN0W3YtMl09PScuJyAmJiBzdFt2XT09Jy4nKQoJCQl9ZWxzZSBpZihjPT0nLicgJiYgc3Rbdi0xXSE9Jy4nKXsKCQkJCWlmKCAoc3Rbdi0yXT09Jy4nICYmIHN0W3ZdIT0nLicpIHx8IChzdFt2LTJdIT0nLicgJiYgc3Rbdl09PScuJykgKXsgZCs9MjsgcysrOyB9CgkJCQllbHNlIGlmKHN0W3YtMl09PScuJyAmJiBzdFt2XT09Jy4nKXsKCQkJCQlpZih2PT0yKXsKCQkJCQkJaWYoc3RbdisxXT09Jy4nKSBkKz0yOwoJCQkJCQllbHNleyBkKz0zOyBzKys7fQoJCQkJCX1lbHNlIGlmKHY9PW4tMSl7CgkJCQkJCWlmKHN0W3YtM109PScuJykgZCs9MjsKCQkJCQkJZWxzZXsgZCs9MzsgcysrO30KCQkJCQl9ZWxzZXsKCQkJCQkJCQkKCQkJCQl9CgkJCQl9CgkJCX0KCQl9Cgl9CQovLwlwcmludGYoIiVkICVkXG4iLGQscyk7CgkJCS8qCglmb3IoaT0wO2k8bTtpKyspewoJCXJlcz0wLGNvdW50PTA7CgkJc2NhbmYoIiVkICVjIiwmdiwmYyk7CgkJc1t2LTFdPWM7CgkJZm9yKGo9MDtqPG47aisrKQoJCQlpZihzW2pdPT0nLicpewoJCQkJY291bnQrKzsKCQkJCWlmKGo9PShuLTEpICYmIGNvdW50Pj0yKSByZXMrPShjb3VudC0xKTsKCQkJfWVsc2V7CgkJCQlpZihjb3VudD49MikgcmVzKz0oY291bnQtMSk7CgkJCQljb3VudD0wOwoJCQl9CgkJcHJpbnRmKCIlZFxuIixyZXMpOwoJfQoJCQkqLwoJCQkKCXJldHVybiAwOwp9