#include #include #include #include int main() { int N, Q; std::cin >> N >> Q; std::vector word; word.reserve(N); for (int i = 0; i < N; ++i) { char c; std::cin >> c; word.emplace_back(c); } for (int i = 0; i < Q; ++i) { int x; std::cin >> x; std::cin.ignore(); std::string line; std::getline(std::cin, line); int cnt = 0; for (size_t j = 0; j < word.size(); ++j) { int skip = 0; std::vector arr; bool noMatch = false; if (word[j]== line[0]) { for (size_t k = 0; k < line.size(); ++k) { while (word[j+skip+k] == -1) { ++skip; } if( word[j+skip+k] == line[k] ) { arr.push_back(j+skip+k); } else { noMatch = true; } } if (!noMatch) { for (auto idx : arr) { word[idx] = -1; } ++cnt; } } } std::cout << cnt << "\n"; } return 0; }