#include<stdio.h>
#include<stdlib.h>
#define MAX 100000
struct node
{
  int b;
  struct node *next;
};
typedef struct node * NodePointer;
int main()
{
  int n,h,temp;
  int a,b[MAX];
  int count;
  int i,j,k;
  NodePointer p,newnode,head;
  head=malloc(sizeof(struct node));
  head->next=NULL;
  scanf("%d%d",&n,&h);
  for(i=0;i<n;i++)
    {
      scanf("%d",&temp);
      if(a<temp) a=temp;
      scanf("%d",&temp);
      for(p=head;p->next!=NULL;p=p->next)
	{
	  if(p->next->b<temp) break;
	}
      newnode=malloc(sizeof(struct node));
      newnode->b=temp;
      newnode->next=p->next;
      p->next=newnode;
    }
  p=head;
  for(count=0;h>0;count++)
    {
      if(p->next==NULL||p->next->b<a)
	{
	 if(h%a==0) count+=h/a;
	 else count+=h/a+1;
	 break;
	}
      h-=p->next->b;
      p=p->next;
    }
  printf("%d\n",count);
  return 0;
}
