Device-To-Device Communication In Cellular Networks : Multi-Hop Path Selection And Performance