Robot
Một robot cứu hỏa xuất phát tại trạm cứu hỏa \(A\) và cần đến thị trấn \(Z\) để làm nhiệm vụ.
Khoảng cách từ trạm \(A\) đến thị trấn \(Z\) là \(L\) đơn vị, và robot mang theo ban đầu \(P\) đơn vị năng lượng.
Robot tiêu tốn đúng \(1\) năng lượng cho mỗi đơn vị quãng đường di chuyển.
Trên đường đi có \(N\) trạm cung cấp năng lượng, trạm thứ \(i\) nằm cách thị trấn \(Z\) đúng \(D_i\) đơn vị và có thể cung cấp tối đa \(C_i\) đơn vị năng lượng.
Dữ liệu đảm bảo \(D_1 > D_2 > \dots > D_N\).
Robot muốn đến thị trấn càng sớm càng tốt nên chỉ dừng lại để nạp năng lượng khi thật sự cần thiết.
Hãy xác định số trạm ít nhất mà robot buộc phải dừng để có thể đến được thị trấn \(Z\).
Nếu không thể đến nơi, in ra -1.
Input
Dòng đầu tiên chứa số bộ test \(T\) (\(1 \le T \le 5\)).
Mỗi test gồm:
- Dòng đầu: số nguyên \(N\) (\(1 \le N \le 10^5\)).
- \(N\) dòng tiếp theo: mỗi dòng chứa hai số \(D_i\) và \(C_i\) (\(1 \le D_i \le 10^6\), \(1 \le C_i \le 1000\)), với \(D_1 > D_2 > \dots > D_N\).
- Dòng cuối cùng: hai số \(L\) và \(P\) (\(1 \le L \le 10^6\), \(2 \le P \le 10^6\)).
Tổng \(N\) trên tất cả test không vượt quá \(10^5\).
Output
In ra \(T\) dòng, mỗi dòng là số trạm tối thiểu robot phải dừng lại để nạp năng lượng.
Nếu robot không thể đến thị trấn \(Z\), in ra -1.
Scoring
- Có \(50\%\) số điểm ứng với \(1 \le N \le 100\).
- \(50\%\) số điểm còn lại có \(100 < N \le 10^5\).
Input
2
3
6 4
4 3
2 6
8 4
1
1 3
5 3
Output
1
-1