Resource Allocation for Device-to-Device Communications Overlaying Two-Way Cellular Networks | Synapse