How does a wallet come to know of Address just by importing Private key? I have exported my Private key to Paper Wallet. Now, when we send/receive bitcoins, we send/receive them to an "Address". So suppose I receive some bitcoins on my address. I have the private key of this address. Now I want to spend the bitcoins I received at my address. For this I need to import my private key to some wallet. Am I right?

And even though I'm importing my private key to the wallet, how will the wallet know what is my "Address"? Because I'm just importing the Private key, not address. Is address derived from private key?

I'm confused with this.
You can derive the public key from a private key
Though, you can't derive a private key from a public key
You can derive a bitcoin address from a public key
Though, You can't derive a public key from a bitcoin address


Means:

PrivateKey -> PublicKey -> Address