Silver Wolf đưa cho bạn một mảng \(a\) có độ dài \(n\) và \(q\) truy vấn. Trong mỗi truy vấn, cô ấy thay thế một phần tử trong \(a\). Sau mỗi truy vấn, cô ấy yêu cầu bạn xuất ra số nguyên lớn nhất \(k\) sao cho tồn tại một số nguyên \(x\) sao cho \(x\) là \(k\)-majority của một dãy con bất kỳ* của \(a\).
Một số nguyên \(y\) được gọi là \(k\)-majority của dãy \(b\) nếu \(y\) xuất hiện ít nhất \(\left\lfloor \frac{|b| + 1}{2} \right\rfloor + k\) lần trong \(b\), trong đó \(|b|\) là độ dài của \(b\). Lưu ý rằng \(b\) không nhất thiết phải có \(k\)-majority.
- Một dãy \(b\) là dãy con của dãy \(a\) nếu \(b\) có thể thu được từ \(a\) bằng cách xóa một số (có thể là không, có thể là tất cả) phần tử từ đầu và một số (có thể là không, có thể là tất cả) phần tử từ cuối.
Input
Dòng đầu tiên chứa một số nguyên \(t\) (\(1 \le t \le 10^4\)) — số lượng bộ test.
Dòng đầu tiên của mỗi test chứa hai số nguyên \(n\) và \(q\) (\(1 \le n, q \le 3 \cdot 10^5\)) — độ dài của mảng \(a\) và số truy vấn.
Dòng tiếp theo chứa \(n\) số nguyên cách nhau bởi dấu cách \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le n\)).
\(q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(i\) và \(x\), biểu thị truy vấn thay thế \(a_i\) bằng \(x\) (\(1 \le i, x \le n\)).
Đảm bảo rằng tổng tất cả các \(n\) và tổng tất cả các \(q\) qua mọi test không vượt quá \(3 \cdot 10^5\).
Output
Với mỗi test, xuất ra kết quả của tất cả các truy vấn trên một dòng, cách nhau bởi dấu cách.
Sample Input 1
2
5 5
1 2 3 4 5
3 4
1 4
2 4
4 3
2 3
7 8
3 2 3 3 2 2 3
2 3
5 3
6 3
3 4
4 4
7 4
6 4
2 4
Sample Output 2
1 1 2 1 0
2 2 3 2 1 1 1 2
Bình luận (1)