Robot xe tự hành
Xem dạng PDFLưu ý: Đây là bài tập interactive, các bạn hãy xem hướng dẫn cách làm dạng bài này tại đây
Khuôn viên trường Đại học Sư Phạm vô cùng rộng lớn, có thể coi như là một mặt phẳng tọa độ hai chiều ~Oxy~. Trong Đại học Sư Phạm Hà Nội có một trường cấp ba chuyên không cổng, được ví như một tòa thành vững chắc, biểu diễn bởi một đa giác không tự cắt có các cạnh song song với một trong hai trục tọa độ.
Dưới đây là một ví dụ về tòa thành Chuyên Sư phạm:

Một robot xe tự hành được đưa vào sử dụng để giám sát an ninh của tòa thành; robot xe tự hành này chỉ có thể đi dọc theo tường thành, trên đường biên theo một hướng nhất định đã được lập trình từ trước. Robot xe tự hành này được lắp đặt cảm biến để khi tới một ngã rẽ, robot sẽ tự rẽ so cho vẫn di chuyển dọc theo tường thành và không đi ra ngoài.
Hôm nay, Giáo sư X, người cài đặt robot xe tự hành đã đi vắng nên không ai biết chiếc xe đang nằm ở trên vị trí nào cũng như có thể di chuyển theo hướng nào; little_aurora được giao nhiệm vụ xác định vị trí của chiếc xe. Tất nhiên little_aurora không thể nhìn thấy robot, anh chỉ có thể ra lệnh cho chiếc xe di chuyển và nhận thông tin được robot gửi về.
Cụ thể hơn, little_aurora có thể yêu cầu chiếc xe thực hiện di chuyển ~k~ đơn vị độ dài theo đường biên của tường thành, sau khi robot di chuyển tới nơi, nó sẽ gửi về cho anh thông tin về số lần xe rẽ trái và số lần xe rẽ phải. little_aurora được thực hiện thao tác trên không quá ~5000~ lần, dựa vào thông tin nhận được sau khi thực hiện các truy vấn, anh cần dưa ra tọa độ của robot tại thời điểm trả lời.
Yêu cầu: Sau bài tập gym màng nhĩ hôm qua, bây giờ little_aurora đang rất mệt mỏi và đau đớn, anh không thể hoàn thành nhiệm vụ được. Bạn hãy giúp little_aurora giải quyết vấn đề này nhé.
Input
Dòng đầu tiên chứa số nguyên dương ~n~ (~n\le 2000~) là số đỉnh của đa giác biểu diễn tường thành.
~n~ dòng tiếp, mỗi dòng chứa hai số nguyên ~x_i, y_i~ (~x_i,y_i\le 10^5~) mô tả tọa độ các đỉnh của tường thành theo đúng thứ tự.
Dữ liệu đảm bảo vị trí của robot là duy nhất, tức là không bao giờ có hai điểm khác nhau trên tòa thành mà cho cùng một kết quả với mọi giá trị ~k~ của thao tác truy vấn.
Tiếp theo, bạn sẽ thực hiện các thao tác truy vấn để tìm vị trí của robot.
Interaction
Để đưa ra một truy vấn, hãy in ra theo một trong hai dạng sau:
+ k: Yêu cầu robot xe tự hành đi thêm ~k~ đơn vị độ dài (~1\le k\le 10^9~), sau đó trình chấm sẽ trả về hai số là số lần rẽ trái và số lần rẽ phải của xe.
! x y: Trả lời vị trí của robot là ở điểm ~(x, y)~.
Nếu robot kết thúc lệnh di chuyển tại một đỉnh, nó sẽ rẽ theo hướng của đường đi trước khi kết thúc lệnh di chuyển, vì vậy lệnh di chuyển tiếp theo sẽ bắt đầu bằng việc đi thẳng.
Scoring
Có ~30\%~ số điểm của bài với ~n\le 100~ và ~x_i, y_i\le 50~.
Có ~30\%~ số điểm khác của bài với ~n\le 100~.
Còn lại không có điều kiện gì thêm.
Sample Input 1
8
2 4
6 4
6 2
4 2
4 3
3 3
3 2
2 2
6 2
1 1
5 1
0 1
6 1
0 1
1 0
5 2
Sample Output 1
+ 14
+ 2
+ 12
+ 1
+ 13
+ 1
+ 1
+ 13
! 4 3
Notes
Trong test ví dụ, ban đầu robot nằm ở vị trí ~(3,3)~ và di chuyển ngược hướng với thứ tự nhập vào.