Problem B: Card game

Playing cards is a nice way to spend time. However, when prize money is involved, sometimes players get involved in a more professional way and try to learn as much as possible about the game. One particular concern is finding out the minimum number of cards needed to obtain a hand of a determined rank, if possible, given the card ranking. You have been asked to write a computer program to help out.

For example, considering aces rank 25 points, figures (kings, queens and jacks) rank 10 points and numbered cards rank 1 point, the minimum number of cards to obtain a 30 point hand is 3 (three figures). Notice that in this case it is possible to obtain hands of any rank, but if numbered cards ranked 5 then it would not be possible to obtain a 12 point ranked hand.

Task

Given the desired hand rank and a card ranking, your program must determine the minimum number of cards needed to obtain, if possible, the desired rank, considering unlimited decks.

Input

The first line includes two integers C and H, which specify the number of card types and the desired hand rank respectively. The following C lines include a string T and an integer R, separated by a single white space, which specify the card type and the card rank, respectively.

Constraints

1 C 56 Number of card types
1 H 1000000 Hand rank desired
1 R 100 Card rank

Output

The output consists in a single line containing the minimum number of cards needed to obtain a hand of the desired rank, if possible, or NO otherwise.

Input example 1

3 30
Ace 25
Figure 10
Number 1

Output example 1

3

Input example 2

3 12
Ace 25
Figure 10
Number 5

Output example 2

NO