dbflag=""

def debug(*args):
	if ""!=dbflag: print(*args)

if ""!=dbflag: _INDATA=open(dbflag)

def readline():
	if ""!=dbflag:return _INDATA.readline()
	else: return input()


result = 0


N, H = map(int, readline().split())



#２次元配列
import numpy as np
data=np.ndarray(shape=(N,2),dtype=int)


for i in range(0,N):
	data[i,:]=[int(x) for x in readline().split(' ')]

maxi=np.argmax(data[:,0])
amax=data[maxi,0]

B=data[:,1]
BoverA = (B[B > amax])[:]
lenBoverA=len(BoverA)

curH =H
for i in range(0,lenBoverA):
	curH-=BoverA[i]
	result +=1
	if curH<=0: break


import math

if curH >0:
	result+=math.ceil(curH / amax)

print(result)

