若一個列表 $A$ 滿足 $\max(A) + \min(A) > \text{len}(A)$,則稱其為 loose。
今天 Rikka 得到了一個長度為 $n$ 的列表 $A$。她想要找出 $A$ 中最長的區段 $[l, r]$,使得列表 $[A_l, A_{l+1}, \dots, A_r]$ 是 loose 的。
Rikka 將會對列表 $A$ 進行 $m$ 個回合的操作。在每一回合中,Rikka 會依序執行一個或多個給定的操作。每個操作都是交換列表 $A$ 中的兩個元素。你的任務是計算出初始狀態以及每一回合結束後,列表 $A$ 中最長 loose 區段的長度。
注意:第 $i$ 回合的操作是在第 $(i - 1)$ 回合結束後的列表上進行的。
輸入格式
第一行包含兩個整數 $n$ 和 $m$ ($1 \le n \le 10^6$ 且 $1 \le m \le 30$)。
第二行包含 $n$ 個整數 $A_i$ ($-10^6 \le A_i \le 10^6$),構成初始列表 $A$。
接著是 $m$ 個回合的描述。對於每個回合,第一行包含一個整數 $k$ ($1 \le k \le 10^6$),代表交換次數。接著有 $k$ 行,每行包含兩個整數 $u_i$ 和 $v_i$ ($1 \le u_i, v_i \le n$ 且 $u_i \neq v_i$),表示 Rikka 在此操作中會交換 $A_{u_i}$ 和 $A_{v_i}$。
保證 $\sum k \le 10^6$。
輸出格式
第一行輸出一個整數:初始列表 $A$ 中最長 loose 區段的長度。
接著輸出 $m$ 行。每一行輸出一個整數:該回合結束後,列表 $A$ 中最長 loose 區段的長度。
範例
輸入 1
5 2 1 2 -2 3 4 1 2 3 1 1 2
輸出 1
2 3 4