console.log((args=>{
  let [[N,H],...katana] = args.trim().split`\n`.map(r=>r.split` `.map(v=>v|0));
  const B = [];
  let maxa = 0, count = 0;
  for ( const [a,b] of katana ) {
    if ( maxa < a ) maxa = a;
    B.push(b);
  }
  for ( const d of B.filter(v=>v>maxa).sort((a,b)=>b-a) ) {
    count++;
    H -= d;
    if ( H <= 0 ) break;
  }
  return count + Math.ceil(Math.max(0,H)/maxa);
})(require('fs').readFileSync('/dev/stdin', 'utf8')));
