Simple and Easy( faster than 91.23% and Memory Usage less than 93.26% )
\nclass FrontMiddleBackQueue:\n\n    def __init__(self):\n        self.dq = []\n\n    def pushFront(self, val: int) -> None:\n        self.dq.insert(0,val)\n\n 
```\nclass FrontMiddleBackQueue:\n\n    def __init__(self):\n        self.dq = []\n\n    def pushFront(self, val: int) -> None:\n        self.dq.insert(0,val)\n\n    def pushMiddle(self, val: int) -> None:\n        mid = len(self.dq)//2\n        self.dq.insert(mid,val)\n\n    def pushBack(self, val: int) -> None:\n        self.dq.append(val)\n\n    def popFront(self) -> int:\n        if len(self.dq)>0:\n            \n            return self.dq.pop(0)\n        else:\n            return -1\n\n    def popMiddle(self) -> int:\n        if self.dq:\n            mid = (len(self.dq)-1)//2\n            return self.dq.pop(mid)\n        else:\n            return -1\n    \n    def popBack(self) -> int:\n        if self.dq:\n            return self.dq.pop()\n        else:\n            return -1\n\n# Your FrontMiddleBackQueue object will be instantiated and called as such:\n# obj = FrontMiddleBackQueue()\n# obj.pushFront(val)\n# obj.pushMiddle(val)\n# obj.pushBack(val)\n# param_4 = obj.popFront()\n# param_5 = obj.popMiddle()\n# param_6 = obj.popBack()\n```
['Python']