#QU000009. Chọn báu vật (Treasure Selection)

    ID: 143 Loại: Thông thường 4000ms 512MiB Tried: 1 Đã chấp nhận: 1 Độ khó: 1 Đăng bởi: Nhãn>Dynamic ProgrammingKnapsackBottom-up DPAdvanced Dynamic ProgrammingOptimization with monotonic queuesData StructuresDeque

Chọn báu vật (Treasure Selection)

Chọn báu vật (Treasure Selection)

Nguồn: Luogu

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

Đề bài

Có nn loại báu vật. Loại ii có giá trị viv_i, trọng lượng wiw_i và tối đa mim_i món. Xe có tải trọng tối đa WW. Hãy chọn các món để tổng trọng lượng không vượt quá WW và tổng giá trị lớn nhất.

Input

Dòng đầu chứa n,Wn,W. nn dòng tiếp theo chứa vi,wi,miv_i,w_i,m_i.

Output

In tổng giá trị lớn nhất.

Subtask

  • Subtask 1 (30%): ∑mi≤104\sum m_i \le 10^4, W≤103W \le 10^3, vi,wi≤100v_i,w_i \le 100.
  • Subtask 2 (30%): n≤60n \le 60, ∑mi≤5⋅104\sum m_i \le 5\cdot 10^4, W≤104W \le 10^4.
  • Subtask 3 (40%): n≤100n \le 100, ∑mi≤105\sum m_i \le 10^5, W≤4⋅104W \le 4\cdot 10^4, vi,wi≤1000v_i,w_i \le 1000.

Toàn bộ dữ liệu tuân theo: 1≤n≤1001 \le n \le 100, 0≤W≤4⋅1040 \le W \le 4\cdot10^4, 1≤vi,wi≤10001 \le v_i,w_i \le 1000, mi≥1m_i\ge1, ∑mi≤105\sum m_i\le10^5.

Ví dụ

Input

4 20
3 9 3
5 9 1
9 4 2
8 1 3

Output

47

Giải thích

Một lựa chọn tối ưu tôn trọng tải trọng 2020 cho tổng giá trị 4747.