void main() {
    import std.stdio, std.string, std.conv, std.algorithm, std.range, std.array, std.math;
    int N, H;
    readf("%d %d\n", &N, &H);
    int[] as, bs;
    foreach (i; 0..N) {
        int a, b;
        readf("%d %d\n", &a, &b);
        as ~= a;
        bs ~= b;
    }
    as = sort(as).array;
    bs = sort(bs).array;
    int cnt = 0;
    while (H > 0) {
        if (!bs.empty && as.back < bs.back) {
            H -= bs.back;
            bs.popBack();
            cnt++;
        } else {
            cnt += H / as.back + ((H % as.back) ? 1 : 0);
            H = 0;
        }
    }
    writeln(cnt);
}
