#nullable enable #region var _input = Array.Empty(); var _iter = 0; string String() { while (_iter >= _input.Length) (_input, _iter) = (Console.ReadLine()!.Split(' '), 0); return _input[_iter++]; } T I() where T : IParsable => T.Parse(String(), null); #endregion static T[] Range(int n, Func F) => Enumerable.Range(0, n).Select(_ => F()).ToArray(); var n = I(); var x = I(); var q = I(); var ans = 0.0; for (var i = 0; i < q; i++) { var m = I(); var f = Range(m, I); var s = new HashSet(f); if (s.Contains(x)) ans += 1; else if (s.Count == m) ans += 0.5; } Console.WriteLine(ans);