There are N children, numbered 1, 2, ..., N.

Snuke has decided to distribute x sweets among them. He needs to give out all the x sweets, but some of the children may get zero sweets.

For each i (1 \leq i \leq N), Child i will be happy if he/she gets exactly a_i sweets. Snuke is trying to maximize the number of happy children by optimally distributing the sweets. Find the maximum possible number of happy children.

Constraints

* All values in input are integers.
* 2 \leq N \leq 100
* 1 \leq x \leq 10^9
* 1 \leq a_i \leq 10^9

Input

Input is given from Standard Input in the following format:


N x
a_1 a_2 ... a_N


Output

Print the maximum possible number of happy children.

Examples

Input

3 70
20 30 10


Output

2


Input

3 10
20 30 10


Output

1


Input

4 1111
1 10 100 1000


Output

4


Input

2 10
20 20


Output

0
import java.util.Scanner;
public class Main{
 public static void main(String args[]){
  boolean flag=false;
  Scanner scan=new Scanner(System.in);
  String s;

  s=scan.next();
  int n=Integer.parseInt(s);
  s=scan.next();
  int x=Integer.parseInt(s);
 
  int a[]=new int[n+10];
  int b=0;
  for(int i=0;i<n;i++){
   s=scan.next();
   a[i]=Integer.parseInt(s);
  }

  for(int i=0;i<n;i++){
   for(int j=i+1;j<n;j++){
    if(a[i]>a[j]){
     b=a[i];
     a[i]=a[j];
     a[j]=b;
    }
   }
  }
  int cnt=0,ans=0;
  while(cnt<x&&ans<n){
   cnt+=a[ans];
   ans++;
 // System.out.println(ans+" "+cnt);
  }
  if(cnt>x)ans--;
  if(cnt<x&&ans==n)ans--;
  System.out.println(ans);
 }
}
