#QU000003. Giá trị nhỏ nhất trong m vị trí trước

    ID: 137 Loại: Thông thường 5000ms 512MiB Tried: 2 Đã chấp nhận: 2 Độ khó: 1 Đăng bởi: Nhãn>Data StructuresDequeAmortized AnalysisMonotonic queueSliding window minimumRange QueriesRange minimum query

Giá trị nhỏ nhất trong m vị trí trước

Giá trị nhỏ nhất trong mm vị trí trước (Minimum in Previous m Positions)

Nguồn: Luogu

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

Đề bài

Cho dãy a1,a2,…,ana_1,a_2,\ldots,a_n. Với mỗi vị trí ii, cần tìm giá trị nhỏ nhất trong tối đa mm phần tử đứng ngay trước aia_i. Nếu trước aia_i chưa có phần tử nào thì kết quả là 00.

Input

Dòng đầu chứa n,mn,m. Dòng thứ hai chứa nn số nguyên dương aia_i.

Output

In nn dòng; dòng thứ ii là kết quả ứng với vị trí ii.

Subtask

  • Subtask 1 (20%): 1≤m≤n≤20001 \le m \le n \le 2000.
  • Subtask 2 (30%): 1≤m≤n≤2⋅1051 \le m \le n \le 2\cdot 10^5.
  • Subtask 3 (50%): 1≤m≤n≤2⋅1061 \le m \le n \le 2\cdot 10^6.

Toàn bộ dữ liệu tuân theo: 1≤m≤n≤2⋅1061 \le m \le n \le 2\cdot10^6, 1≤ai≤3⋅1071 \le a_i \le 3\cdot10^7.

Ví dụ

Input

6 2
7 8 1 4 3 2

Output

0
7
7
1
1
3

Giải thích

Vị trí đầu tiên không có phần tử đứng trước nên in 00. Từ vị trí thứ hai trở đi chỉ xét tối đa hai phần tử ngay trước.