#include <bits/stdc++.h>
using namespace std;

int main()
{
	int N, M;
	while (cin >> N >> M, N | M) {
		vector<unordered_set<int>> g(M);
		vector<int> S(M);
		for (int i = 0; i < M; i++) {
			cin >> S[i];
			int k;
			cin >> k;
			for (int j = 0; j < k; j++) {
				int c;
				cin >> c; --c;
				g[i].insert(c);
			}
		}
		int ma = 0;
		for (int i = 0; i < N; i++) {
			vector<int> sc(N);
			for (int j = 0; j < M; j++) if (g[j].count(i)) {
				sc[i] += S[j];
			}
			for (int j = 0; j < M; j++) if ((int)g[j].size() == 1 && *g[j].begin() != i) {
				sc[*g[j].begin()] += S[j];
			}
			ma = max(ma, *max_element(sc.begin(), sc.end()) - *min_element(sc.begin(), sc.end()));
		}
		cout << ma + 1 << endl;
	}
	return 0;
}

