#include <bits/stdc++.h>
using namespace std;
int n;
set<char> chst;
set<char> nost;
multiset<char> un;
int xxx[30];
int main() {
  int i, j;
  while (scanf("%d", &n) != EOF) {
    nost.clear();
    int cnt = 0, flag = 0, aaa = 0;
    char ans;
    for (i = 0; i < n; i++) {
      char c, s[100005];
      scanf(" %c %s", &c, s);
      if (c == '!') {
        chst.clear();
        string x = s;
        for (j = 0; j < 26; j++) {
          string www;
          www += (j + 'a');
          if (x.find(www, 0) != -1) chst.insert(j + 'a');
        }
        for (j = 0; j < 26; j++) {
          if (chst.find(j + 'a') == chst.end()) {
            nost.insert(j + 'a');
          }
        }
        if (flag) cnt++;
      } else if (c == '.') {
        string x = s;
        for (j = 0; j < 26; j++) {
          string www;
          www += (j + 'a');
          if (x.find(www, 0) != -1) {
            nost.insert(j + 'a');
          }
        }
      } else if (c == '?') {
        if (flag && nost.find(s[0]) != nost.end())
          cnt++;
        else {
          nost.insert(s[0]);
        }
      }
      if (nost.size() == 25) {
        flag = 1;
        continue;
      }
    }
    printf("%d\n", cnt);
  }
}
