#B2294. 목표 금액 만들기

목표 금액 만들기

Background

여러 개의 정수 값을 반복해서 사용하여 목표 합을 만든다.

Description

NN개의 값이 주어진다. 각 값은 원하는 만큼 여러 번 사용할 수 있다.

주어진 값들을 사용하여 합이 정확히 KK가 되도록 만들 때, 사용한 값의 개수의 최솟값을 구하여라.

정확히 KK를 만들 수 없다면 -1을 출력한다.

Format

Input

첫째 줄에 두 정수 NNKK가 공백으로 구분되어 주어진다.

다음 NN개의 줄에는 사용할 수 있는 값 CiC_i가 하나씩 주어진다.

입력은 다음 조건을 만족한다.

1N1001 \leq N \leq 100

1K100001 \leq K \leq 10000

1Ci1000001 \leq C_i \leq 100000

같은 값이 여러 번 주어질 수 있다.

Output

합이 정확히 KK가 되도록 만들 때 필요한 값의 최소 개수를 출력한다.

불가능한 경우에는 -1을 출력한다.

Samples

4 27
2
5
11
13
3
3 14
6
10
25
-1

Limitation

2s, 256MiB for each test case.