Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập doiquatwopointercoban

Đổi quà

Dễ Cài đặt

  • 100 Điểm
  • 1.0s Thời gian
  • 256M Bộ nhớ
  • 0% Tỉ lệ AC
  • 0 Số AC

Cuối năm học, Nam được bố mẹ cho tham gia hội trại hè. Tại hội trại, Nam tích cực tham gia các hoạt động và giành được số điểm \(m\). Nam muốn tặng bố mẹ mỗi người một món quà theo chương trình đổi điểm lấy quà của Ban tổ chức.

Ban tổ chức có \(n\) món quà, món quà thứ \(i\) có giá trị \(a_i\) tương ứng với số điểm cần để đổi món đó. Với số điểm hiện có, Nam quyết định sẽ đổi thành hai món quà khác nhau sao cho tổng giá trị là lớn nhất có thể và không vượt quá số điểm Nam có.

Yêu cầu: Hãy xác định tổng giá trị lớn nhất của hai món quà khác nhau mà Nam có thể đổi được với số điểm \(m\).

Nếu không thể đổi được hai món quà khác nhau thì in ra \(-1\).

Input

Dòng đầu gồm hai số nguyên \(n\) và \(m\) (\(1 \le n \le 10^5\), \(1 \le m \le 10^9\)).

Dòng tiếp theo gồm \(n\) số nguyên \(a_1, a_2, \ldots, a_n\) (\(1 \le a_i \le 10^9\)).

Output

In ra tổng giá trị lớn nhất có thể của hai món quà khác nhau mà Nam có thể đổi được. Nếu không tồn tại cặp nào thỏa mãn, in \(-1\).

Example

Input:

10 8
6 3 8 10 6 1 9 4 1 9

Output:

7

Notes

Có nhiều cặp thỏa mãn như \((3, 4), (1, 6), (6, 1)\) đều có tổng bằng 7. Cặp \((6, 3)\) không được tính nếu cùng giá trị mà trùng vị trí.

Scoring

  • 60% số test có \(n \le 10^3\).

  • 40% số test còn lại có \(10^3 < n \le 10^5\).

Bình luận

Chưa có bình luận nào.