C++ easy 1 deque
\nclass FrontMiddleBackQueue {\npublic:\n    deque<int>dq;\n    FrontMiddleBackQueue() {}\n    void pushFront(int val) {\n        dq.push_front(val);\n    }\n  
```\nclass FrontMiddleBackQueue {\npublic:\n    deque<int>dq;\n    FrontMiddleBackQueue() {}\n    void pushFront(int val) {\n        dq.push_front(val);\n    }\n    void pushMiddle(int val) {\n        dq.insert(begin(dq) + dq.size()/2, val);\n    }\n    void pushBack(int val) {\n        dq.push_back(val);\n    }\n    int popFront() {\n        if(dq.empty()) return -1;\n        int front = dq.front();\n        dq.pop_front();\n        return front;\n    }\n    int popMiddle() {\n        if(dq.empty()) return -1;\n        int m = dq.size() % 2 ? dq.size() / 2 : (dq.size() / 2) - 1;\n        int res = dq[m];\n        dq.erase(begin(dq) + m);\n        return res;\n    }\n    int popBack() {\n        if(dq.empty()) return -1;\n        int back = dq.back();\n        dq.pop_back();\n        return back;\n    }\n};\n```
['Queue', 'C++']