import java.io.*; import java.util.*; public class WidgetFactory { private static final Scanner cin = new Scanner(System.in); private static final int[] inv = new int[] { 0, 1, 4, 5, 2, 3, 6 }; public static void main(String[] args) { while(true) { int n = cin.nextInt(); int m = cin.nextInt(); if(n == 0 && m == 0) { break; } int[][] a = new int[m][n+1]; for(int i = 0; i < m; i++) { int num = cin.nextInt(); int bgn = "SUNMONTUEWEDTHUFRISAT".indexOf(cin.next()) / 3; int end = "SUNMONTUEWEDTHUFRISAT".indexOf(cin.next()) / 3; Arrays.fill(a[i], 0); while(num-- > 0) { a[i][cin.nextInt() - 1]++; } a[i][n] = (end - bgn + 8) % 7; } for(int i = 0; i < m; i++) for(int j = 0; j <= n; j++) a[i][j] %= 7; int p = 0; { for(int i = 0; i < n; i++) { // choose { int q = p; while(q < m && a[q][i] == 0) { q++; } if(q == m) { continue; } for(int j = 0; j <= n; j++) { int w = a[p][j]; a[p][j] = a[q][j]; a[q][j] = w; } } // divide { int u = a[p][i]; for(int j = 0; j <= n; j++) a[p][j] = (a[p][j] * inv[u]) % 7; } // subtract { for(int q = 0; q < m; q++) { if(p == q) continue; int u = 7 - a[q][i]; for(int j = 0; j <= n; j++) a[q][j] = (a[q][j] + u * a[p][j]) % 7; } } p++; } } boolean isConsistent = true; { for(int i = p; i < m; i++) { isConsistent = isConsistent && (a[i][n] == 0); } } if(!isConsistent) { System.out.println("Inconsistent data."); continue; } if(p < n) { System.out.println("Multiple solutions."); continue; } for(int i = 0; i < n; i++) { int value = (a[i][n] + 4) % 7 + 3; System.out.print((i == 0 ? "" : " ") + value); } System.out.println(); } } }