#CCBCHBAHAI0000056. Bài kiểm tra cuối Ch32 - Array Mastery (Chapter 32 Final Test - Array Mastery)

Bài kiểm tra cuối Ch32 - Array Mastery (Chapter 32 Final Test - Array Mastery)

Bài kiểm tra cuối Ch32 - Array Mastery (Chapter 32 Final Test - Array Mastery)

Nguồn: Phước Hưng OJ

Phiên bản: Phước Hưng OJ Extended

Đề bài

Có một mảng tĩnh sức chứa CC và kích thước logic ban đầu nn. Tại mọi thời điểm, dãy đang dùng là

a0,a1,…,an−1,0≤n≤C.a_0,a_1,\ldots,a_{n-1},\qquad 0\le n\le C.

Thực hiện tuần tự QQ lệnh. Mỗi lệnh có một trong các dạng sau:

  • 1 p: in apa_p; bảo đảm 0≤p<n0\le p<n.
  • 2 p x: gán ap←xa_p\leftarrow x; bảo đảm 0≤p<n0\le p<n.
  • 3: đảo ngược dãy logic, tức phần tử mới ở ii bằng phần tử cũ ở n−1−in-1-i.
  • 4 p x: chèn xx trước vị trí pp; bảo đảm 0≤p≤n<C0\le p\le n<C. Sau lệnh, kích thước tăng 11.
  • 5 p: xóa phần tử tại pp; bảo đảm 0≤p<n0\le p<n. Sau lệnh, kích thước giảm 11.
  • 6 x: in chỉ số nhỏ nhất pp sao cho ap=xa_p=x, hoặc −1-1 nếu không tồn tại.
  • 7: bảo đảm n>0n>0; in S,m,MS,m,M với S=∑aiS=\sum a_i, m=min⁡aim=\min a_i, M=max⁡aiM=\max a_i.

Mọi vị trí là 0-based. Các lệnh phải được xử lý đúng thứ tự vì mỗi cập nhật ảnh hưởng tới các lệnh sau.

Input

Dòng đầu chứa C,n,QC,n,Q. Dòng thứ hai chứa nn số nguyên ban đầu (dòng rỗng nếu n=0n=0). QQ dòng tiếp theo chứa các lệnh theo định dạng trên.

Output

Với mỗi lệnh loại 1, 6 hoặc 7, in đúng một dòng kết quả theo mô tả.

Subtask

Subtask 1 (20 điểm): 1≤C≤101\le C\le10, 1≤Q≤201\le Q\le20.

Subtask 2 (30 điểm): 1≤C≤1001\le C\le100, 1≤Q≤2001\le Q\le200.

Subtask 3 (50 điểm): 1≤C≤20001\le C\le2000, 1≤Q≤50001\le Q\le5000.

Ví dụ

Input

5 3 7
4 1 9
1 1
4 1 7
6 9
3
2 0 5
7
5 2

Output

1
3
17 1 7

Giải thích

Sau khi chèn 77, dãy là [4,7,1,9][4,7,1,9] nên 99 ở chỉ số 33. Sau đảo dãy thành [9,1,7,4][9,1,7,4]; lệnh 2 0 5 đổi phần tử đầu thành 55, do đó dãy là [5,1,7,4][5,1,7,4] và thống kê là 17 1 7.