#nullable enable #region var (_input, _iter) = (Array.Empty(), 0); T I() where T : IParsable { while (_iter >= _input.Length) (_input, _iter) = (Console.ReadLine()!.Split(' ', StringSplitOptions.RemoveEmptyEntries), 0); return T.Parse(_input[_iter++], null); } #endregion bool Solve() { var n = I(); var m = I(); var ez = new (int, int)[m]; for (var i = 0; i < m; i++) ez[i].Item1 = I(); for (var i = 0; i < m; i++) ez[i].Item2 = I(); ez.AsSpan().Sort(); var l = -1; foreach (var (s, g) in ez) { if (s != g && g <= l) return false; l = g; } ez.AsSpan().Reverse(); l = n + 1; foreach (var (s, g) in ez) { if (s != g && g >= l) return false; l = g; } return true; } var ans = new List(); var t = I(); while (t-- > 0) ans.Add(Solve() ? "Yes" : "No"); Console.WriteLine(string.Join(Environment.NewLine, ans));