Một bảng số kích thước m x n, ban đầu bảng số được phủ toàn bộ là màu trắng. Người ta tiến hành sơn bảng số này như sau:
- Chọn một bảng con kích thước r x c bất kỳ.
- Sơn toàn bộ bảng con vừa chọn, màu trắng thành màu đen và màu đen thành màu trắng.
- Lặp lại các bước trên cho đến khi được một mẫu cho trước.
Bạn hãy cho biết cần tối thiểu bao nhiêu lần sơn để được mẫu cho trước.
INPUT: PAINT.INP
- Gồm nhiều bộ test, mỗi bộ test bao gồm:
- Dòng 1 chứa 4 số nguyên dương m, n, r, c (1 ≤ r ≤ n ≤ 100, 1 ≤ c ≤ m ≤ 100).
- Các dòng tiếp theo thể hiện bảng mẫu. Bản mẫu gồm m dòng, mỗi dòng chứa n ký tự 0 hoặc 1, trong đó 0 là màu trắng và 1 là màu đen.
- Kết thúc bộ test là 4 số 0 0 0 0.
OUTPUT: PAINT.OUT
- Đưa ra số lượng sơn bảng ít nhất có thể, trong trường hợp không tạo được mẫu cho trước thì đưa ra -1.