import java.io.*; import java.util.*; public class party_yuizumi { public static void main(String[] args) throws Exception { Scanner cin = new Scanner(System.in); TestCase testCase; boolean isFirstCase = true; while((testCase = TestCase.scan(cin)) != null) { if(!isFirstCase) System.out.println(); isFirstCase = false; testCase.solve(); } } private static class TestCase { private int n; private int m; private Map langs; private int[] speak; private int aMask; private int aSize; private TestCase(int n, int m) { this.n = n; this.m = m; langs = new HashMap(n); speak = new int[m]; Arrays.fill(speak, 0); } private static TestCase scan(Scanner cin) { int n = cin.nextInt(); int m = cin.nextInt(); if(n == 0 && m == 0) return null; TestCase testCase = new TestCase(n, m); for(int i = 0; i < n; i++) { testCase.langs.put(cin.next(), i); } for(int i = 0; i < m; i++) { int k = cin.nextInt(); for(int j = 0; j < k; j++) { int lang = testCase.langs.get(cin.next()); testCase.speak[i] |= 1 << lang; } } return testCase; } private void solve() { int aMask = 0; int aSize = 0; loop: for(int size = 1; size < Math.min(m, 6); size++) { for(int mask = (1 << size) - 1; mask < (1 << n); ) { if(isConnected(mask)) { aMask = mask; aSize = size; break loop; } int x = mask & ~(mask - 1); int y = mask + x; mask = y | ((mask & ~y) / x) >> 1; } } if(aMask == 0) { System.out.println("Impossible"); } else { System.out.println(aSize); for(String lang : langs.keySet()) { if((aMask & (1 << langs.get(lang))) != 0) System.out.println(lang); } } } private void solve(int idx, int mask, int size) { if(size >= aSize) return; if(isConnected(mask)) { aMask = mask; aSize = size; return; } if(idx >= n) return; solve(idx + 1, mask, size); solve(idx + 1, mask | (1 << idx), size + 1); } private boolean isConnected(int mask) { int n0 = 0; int n1 = 1; int tmp = speak[0] & mask; int vis = 1; while(n0 < n1 && n1 < m) { n0 = n1; for(int i = 0; i < m; i++) { if((vis & (1 << i)) == 0 && (speak[i] & tmp) != 0) { vis |= 1 << i; tmp |= speak[i] & mask; n1++; } } } return n1 == m; } } }