Point: 100.0
Time limit: 1.0s
Memory limit: 977 M
Input: stdin
Output: stdout
Author:  
Problem type
Ngôn ngữ cho phép
C, C#, C++, Python

Các bạn trẻ 2k7 muốn học lập trình sớm. Các bạn trẻ muốn chứng tỏ rằng việc học Tin học là đúng đắn và bước đầu tiến tới con đường theo đuổi tin học bằng một số thành tích nhỏ như cố gắng giải full đề trong mỗi buổi học. Với mục tiêu đó, các bạn trẻ 2k7 quyết tâm học nhóm cùng nhau và tham gia vào lớp học của Mr Toàn để nâng cao trình độ. Quyết tâm thì có vẻ dễ nhưng thực hiện nó không đơn giản tý nào cả. Trong việc học Tin học sướng nhất là chơi game chứ học hành đàng hoàng thì quả vất vả thật. Ngay cả việc sắp xếp ổ cắm điện là cả một vấn đề rồi.

Phòng học của Mr Toàn có \(n\) ổ cắm điện rời. Số lượng chỗ cắm trên mỗi ổ cắm điện này lần lượt là \(a_1, a_2, a_3,…, a_n\) chỗ cắm. Trên tường phòng học có đúng một chỗ cắm cố định đang có điện. Vậy để cho một ổ cắm điện rời có điện thì phải cắm ổ cắm đó vào chỗ cắm cố định trên tường. Ta cũng có thể cắm ổ cắm điện rời này vào một ổ cắm điện rời khác đang có điện. Các thành viên của lớp Mr Toàn có \(m\) laptop, để sử dụng thì laptop này cần được cắm vào ổ cắm trên tường hoặc ổ cắm rời đang có điện. Bạn hãy giúp các bạn trẻ tìm ra số ổ cắm rời ít nhất cần dùng để có thể sử dụng tất cả \(m\) laptop.

Input Specification

  • Dòng thứ nhất gồm 2 số nguyên \(n, m\) cách nhau một khoảng trắng, dữ liệu vào đảm bảo \(1 ≤ n, m ≤ 50\), \(n\) là số lượng ổ cắm và \(m\) là số lượng laptop.

  • Dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, …, a_n\) là số chỗ cắm trên các ổ cắm rời tương ứng, mỗi số cách nhau một khoảng trắng, dữ liệu vào đảm bảo \(1 ≤ ai ≤ 50\).

Output Specification

  • là số nguyên cho biết số ổ cắm rời ít nhất cần sử dụng là bao nhiêu. Nếu đã sử dụng hết tất cả ổ cắm rời mà vẫn không đủ, in ra -1.

Sample Input

3 4
3 2 2

Sample Output

2