#include <iostream>
#include <vector>
#include <map>
using namespace std;
bool dfs(vector<vector<int>>& graph, vector<bool>& visited, vector<int>& d, int x){
for(int i = 0; i < graph[x].size(); i++){
int p = graph[x][i];
if(visited[p]){
continue;
}
visited[p] = true;
if(d[p] == -1 or dfs(graph, visited, d, d[p])){
d[p] = x;
return true;
}
}
return false;
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int n, m;
cin >> n >> m;
map<string, int> member;
for(int i = 1; i <= m; i++){
string str;
cin >> str;
member[str] = i;
}
vector<vector<int>> graph(n + 1);
for(int i = 1; i <= n; i++){
int x;
cin >> x;
for(int j = 0; j < x; j++){
string str;
cin >> str;
graph[i].push_back(member[str]);
}
}
vector<int> d(m + 1, -1);
int answer = 0;
for(int i = 1; i <= n; i++){
vector<bool> visited(m + 1, false);
if(dfs(graph, visited, d, i)){
answer++;
}
}
if(answer == n){
cout << "YES";
}else{
cout << "NO\n" << answer;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8bWFwPgoKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIGRmcyh2ZWN0b3I8dmVjdG9yPGludD4+JiBncmFwaCwgdmVjdG9yPGJvb2w+JiB2aXNpdGVkLCB2ZWN0b3I8aW50PiYgZCwgaW50IHgpewoJZm9yKGludCBpID0gMDsgaSA8IGdyYXBoW3hdLnNpemUoKTsgaSsrKXsKCQlpbnQgcCA9IGdyYXBoW3hdW2ldOwoJCWlmKHZpc2l0ZWRbcF0pewoJCQljb250aW51ZTsKCQl9CgkJdmlzaXRlZFtwXSA9IHRydWU7CgkJaWYoZFtwXSA9PSAtMSBvciBkZnMoZ3JhcGgsIHZpc2l0ZWQsIGQsIGRbcF0pKXsKCQkJZFtwXSA9IHg7CgkJCXJldHVybiB0cnVlOwoJCX0KCX0KCXJldHVybiBmYWxzZTsKfQoKaW50IG1haW4oKSB7CgkKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CgljaW4udGllKDApOwoJCglpbnQgbiwgbTsKCWNpbiA+PiBuID4+IG07CgkKCW1hcDxzdHJpbmcsIGludD4gbWVtYmVyOwoJZm9yKGludCBpID0gMTsgaSA8PSBtOyBpKyspewoJCXN0cmluZyBzdHI7CgkJY2luID4+IHN0cjsKCQltZW1iZXJbc3RyXSA9IGk7Cgl9CgkKCXZlY3Rvcjx2ZWN0b3I8aW50Pj4gZ3JhcGgobiArIDEpOwoJZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspewoJCWludCB4OwoJCWNpbiA+PiB4OwoJCWZvcihpbnQgaiA9IDA7IGogPCB4OyBqKyspewoJCQlzdHJpbmcgc3RyOwoJCQljaW4gPj4gc3RyOwoJCQlncmFwaFtpXS5wdXNoX2JhY2sobWVtYmVyW3N0cl0pOwoJCX0KCX0KCQoJdmVjdG9yPGludD4gZChtICsgMSwgLTEpOwoJCglpbnQgYW5zd2VyID0gMDsKCWZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKXsKCQl2ZWN0b3I8Ym9vbD4gdmlzaXRlZChtICsgMSwgZmFsc2UpOwoJCWlmKGRmcyhncmFwaCwgdmlzaXRlZCwgZCwgaSkpewoJCQlhbnN3ZXIrKzsKCQl9Cgl9CgoJaWYoYW5zd2VyID09IG4pewoJCWNvdXQgPDwgIllFUyI7Cgl9ZWxzZXsKCQljb3V0IDw8ICJOT1xuIiA8PCBhbnN3ZXI7Cgl9CgkKCXJldHVybiAwOwp9
NiA2Ck1JWUVPTgpNSU5OSUUKU09PSklOClNPWUVPTgpZVVFJClNIVUhVQQoyIFlVUUkgU09PSklOCjEgU09ZRU9OCjEgWVVRSQoyIFlVUUkgU0hVSFVBCjMgTUlZRU9OIFNPWUVPTiBZVVFJCjMgTUlZRU9OIFNIVUhVQSBTT1lFT04=
6 6
MIYEON
MINNIE
SOOJIN
SOYEON
YUQI
SHUHUA
2 YUQI SOOJIN
1 SOYEON
1 YUQI
2 YUQI SHUHUA
3 MIYEON SOYEON YUQI
3 MIYEON SHUHUA SOYEON