fun readInt () = valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn) fun intString n = if 0 <= n then Int.toString n else "-" ^ Int.toString (abs n) val () = let val n = readInt () val w = readInt () val vw_s = List.tabulate (n, fn _ => (readInt (), readInt())) val ans = List.foldl (fn ((v, weight), acc) => if weight <= w then Int.max(acc, v) else acc) (~1) vw_s in print (intString ans ^ "\n") end