{"code":"adaqueue","name":"Ada và Queue","description":"Ada là một con bọ rùa rất bận rộn. Cô ấy có nhiều việc phải làm, và cô ấy thường cho các công việc này vào một hàng đợi. Tuy nhiên, Ada khá do dự — đôi khi cô ấy thao tác ở đầu hàng, đôi khi ở cuối, và đôi khi lại đảo ngược toàn bộ hàng đợi.\r\n\r\n---\r\n\r\n## **Input**\r\n\r\n- Dòng đầu tiên chứa một số nguyên `Q` — số lượng truy vấn \\((1 ≤ Q ≤ 10^6)\\).  \r\n- Mỗi truy vấn là một trong các lệnh sau:\r\n\r\n    - `back` — In ra phần tử ở cuối hàng và **xóa** nó.  \r\n    - `front` — In ra phần tử ở đầu hàng và **xóa** nó.  \r\n    - `reverse` — Đảo ngược thứ tự toàn bộ hàng đợi.  \r\n    - `push_back N` — Thêm phần tử `N` vào cuối hàng.  \r\n    - `toFront N` — Thêm phần tử `N` vào đầu hàng.\r\n\r\n- Mọi số `N` đều thỏa \\(0 ≤ N ≤ 100\\).\r\n\r\n---\r\n\r\n## **Output**\r\n\r\n- Với mỗi truy vấn `back` hoặc `front`, in ra giá trị tương ứng.  \r\n- Nếu hàng đợi rỗng tại thời điểm thực hiện truy vấn, in ra:\r\n\r\n    ```\r\n    No job for Ada?\r\n    ```\r\n\r\n---\r\n\r\n## **Ví dụ**\r\n\r\n!!! question \"Test 1\"\r\n\r\n    ???+ \"Input\"\r\n        ```sample\r\n        15\r\n        toFront 93\r\n        front\r\n        back\r\n        reverse\r\n        back\r\n        reverse\r\n        toFront 80\r\n        push_back 53\r\n        push_back 50\r\n        front\r\n        front\r\n        reverse\r\n        push_back 66\r\n        reverse\r\n        front\r\n        ```\r\n\r\n    ???+ success \"Output\"\r\n        ```sample\r\n        93\r\n        No job for Ada?\r\n        No job for Ada?\r\n        80\r\n        53\r\n        66\r\n        ```","points":100.0,"partial":false,"time_limit":1.0,"memory_limit":1024000,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}