#nullable enable #region var (_input, _iter) = (Array.Empty(), 0); T I() where T : IParsable { while (_iter >= _input.Length) (_input, _iter) = (Console.ReadLine()!.Trim().Split(' '), 0); return T.Parse(_input[_iter++], null); } #endregion static T[] Range(int n, Func F) => Enumerable.Range(0, n).Select(_ => F()).ToArray(); var n = I(); var qz = new List<(int, int, int)>(); { var q = I(); for (var i = 0; i < q; i++) { var a = I(); var b = I(); var m = I(); var (x, y) = (0, 0); for (var lp = 0; lp < 2; lp++) { var k = 1; var input = Range(a + 1, I); for (var j = 1; j <= a; j++) { x += k * int.Parse(input[j]); k *= n + 1; } (a, b, x, y) = (b, a, y, x); } qz.Add((x, y, m)); } } bool Ans() { var data = new HashSet<(int, int)>(); foreach (var (x, y, m) in qz) { if (x == 0 && y == 0 && m >= 0) return true; if (data.Contains((y, x))) return true; data.Add((x, y)); } return false; } var ans = Ans(); Console.WriteLine(ans ? "Yes" : "No");