#include #include #include #include using namespace std; pair fs[10005]; int main() { int n, L, P; scanf("%d", &n); priority_queue heap; for (int i = 0; i < n; i++) scanf("%d%d", &fs[i].first, &fs[i].second); sort(fs, fs + n); reverse(fs, fs + n); scanf("%d%d", &L, &P); int t = 0; heap.push(P); int index = 0; while (L > 0 && !heap.empty()) { t++; int tmp = heap.top(); heap.pop(); L -= tmp; while (index < n && L <= fs[index].first) heap.push(fs[index++].second); } printf("%d\n", L <= 0 ? t - 1 : -1); return 0; }