Trò chơi đẩy bi được thực hiện trên lưới điểm nguyên của mặt phẳng tọa độ Oxy. Trên lưới có một số ô cấm, các ô còn lại là tự do. Khi bắt đầu chơi, một số viên bi sẽ xuất hiện trên lưới, mỗi viên bi sẽ nằm gọn trong một ô và không có ô nào chứa nhiều hơn một viên bi. Người chơi sẽ phải chọn một ô tự do trên lưới làm ô hố, nếu ô được chọn làm ô hố có chứa bi thì viên bi đó sẽ biến mất. Mỗi bước, người chơi có thể chọn một ô chứa bi và đẩy viên bi đó sang một trong bốn ô chung cạnh (hiện đang không có bi), nếu viên bi bị đẩy vào ô hố thì viên bi này cũng sẽ biến mất. Nhiệm vụ của người chơi là đẩy hết tất cả các viên bi trên lưới vào hố với số bước ít nhất.
Yêu cầu: Cho biết vị trí các ô cấm trên lưới và vị trí các ô có chứa bi. Hãy chọn một ô tự do là ô hố và tìm cách đẩy tất cả các viên bi trên lưới vào hố với số bước ít nhất.
Input
- Dòng thứ nhất ghi số nguyên dương ~n~ là số ô cấm;
- Dòng thứ ~i~ với ~i = 1, 2, ., n~ trong ~n~ dòng tiếp theo, mỗi dòng chứa hai số nguyên ~x_i, y_i~ mô tả ô ~(x_i, y_i)~ là ô cấm.
- Dòng tiếp theo ghi số nguyên dương ~𝑚~ là số ô chứa bi;
- Dòng thứ ~j~ với ~j = 1,2, … , m~ trong ~𝑚~ dòng tiếp theo, mỗi dòng chứa hai số nguyên ~u_j, v_j~ mô tả ô ~(u_j, v_j)~ là ô chứa bi.
Output
Một dòng chứa một số nguyên là số bước ít nhất cần thiết để đẩy tất cả các viên bi trên lưới vào hố. Ghi ~-1~ nếu không tồn tại cách chọn hố để đẩy hết tất cả các viên bi trên lưới vào hố. Giới hạn:
- Subtask 1: ~𝑛 = 0; \, 𝑚 = 2~ và các số ~u_i, v_i~ là số nguyên dương không vượt quá ~100;~
- Subtask 2: ~𝑛 = 1; \, 𝑚 = 2~ và các số ~x_i, y_i, u_i, v_i~ là số nguyên dương không vượt quá ~100;~
- Subtask 3: ~𝑛 = 0; \, 𝑚 \le 100~ và các số ~u_i, v_i~ là số nguyên dương không vượt quá ~100;~
- Subtask 4: ~𝑛 \le 1000; \, 𝑚 \le 100~ và các số ~x_i, y_i, u_i, v_i~ là số nguyên dương không vượt quá ~100;~
- Subtask 5: ~𝑛 = 0; 𝑚 \le 100~ và các số ~u_i, v_i~ là số nguyên có giá trị tuyệt đối không vượt quá ~10^9~.
Sample input 1
1
2 2
2
1 2
3 2
Sample output 1
4
Sample input 2
0
2
1 1
5 5
Sample output 2
8
Comments