Implement a doubly linked list.
Represent operations as arrays: ["append", value], ["prepend", value], ["delete", value], ["forward"], and ["backward"]. Delete only the first matching value. Return one array for each traversal operation, preserving query order.
Use the function signature below. Values are integers, and a delete operation for a missing value does nothing.
Example: [["append", 2], ["append", 3], ["prepend", 1], ["backward"]] returns [[3, 2, 1]].
Constraints: At most 10^4 operations, and each operation has valid syntax.
def implement_doubly_linked_list(operations):