import java.io.*; import java.util.*; class Main { public static void main(String[] args) { MyScanner sc = new MyScanner(); out = new PrintWriter(new BufferedOutputStream(System.out)); int n=sc.nextInt(); long ww=sc.nextLong(); int U=50; int p=0; long[]v=new long[n],w=new long[n]; for(int i=0;iww)continue; p++; } long D=Math.max(1,(ww+U*p-1)/U/p); int[]vt=new int[p]; for(int i=0;i=vt[i];--j) dp[j]=Math.max(dp[j],dp[j-vt[i]]+v[i]); } long ans=0; for(int i=0;i