#include<iostream> #include<iomanip> #define maxn 100010 #define ll long long usingnamespacestd;
constint p = 10000;
int nxt[maxn]; voidinit_nxt(int *s, int l){ int k = 0; nxt[1] = 0; for (int i = 2; i <= l; ++i) { while (k && s[k + 1] != s[i]) k = nxt[k]; if (s[k + 1] == s[i]) ++k; nxt[i] = k; } }
cin >> n >> m; pn[0] = 1; for (int i = 1; i <= 100000; ++i) pn[i] = pn[i - 1] * n % p; for (int o = 1; o <= m; ++o) { int len; ll ans = 0; cin >> len; for (int i = 1; i <= len; ++i) cin >> a[i]; init_nxt(a, len); int t = len; while (t) ans = (ans + pn[t]) % p, t = nxt[t]; cout << setw(4) << setfill('0') << ans << "\n"; } return0; }