Mảnh giấy

Xem dạng PDF

Gửi bài giải

Điểm: 0,01 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Một mảnh giấy hình chữ nhật được chia thành ~n~ hàng và ~m~ cột. Trong đó, đã có ~f~ ô được điền sẵn giá trị ~1~, các ô còn lại được điền giá trị ~0~. Bạn cần tìm một hình vuông kích thước ~k \times k~ thoả mãn:

  • ~k~ chia hết cho ~d~,

  • Tồn tại một ô ~(i,j)~ sao cho hình vuông kích thước ~k \times k~ có góc trái trên là ~(i,j)~ chứa ~\le c~ ô có giá trị ~1~,

  • ~k~ lớn nhất.

Input

Dòng đầu tiên chứa 5 số nguyên dương ~n~, ~m~, ~f~, ~d~, ~c~ (~1 \le n,m \le 5000~, ~1 \le f \le 2 \cdot 10^5~, ~1 \le d \le \min(m,n)~, ~1 \le c \le nm~).

~f~ dòng tiếp theo, mỗi dòng chứa hai số nguyên ~i~, ~j~ thể hiện một ô được điền giá trị ~1~ (~1 \le i \le n~, ~1 \le j \le m~).

Output

Gồm một dòng duy nhất chứa số nguyên dương ~k~ thoả mãn yêu cầu.

Sample Input 1

5 5 9 1 1
2 2
3 5
1 5
4 5
5 2
1 1
1 2
4 2
2 5

Sample Output 1

2

Notes

Giải thích: Ta chọn hình vuông có góc trái trên là ~(1,3)~, với độ dài cạnh là ~2~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.