What is the difference between necessary and sufficient conditions? 
*

*If $p\implies q$ ("$p$ implies $q$"), then $p$ is a sufficient condition for $q$.

*If $\lnot p\implies \lnot q$ ("not $p$ implies not $q$"), then $p$ is a necessary condition for $q$.
I don't understand what sufficient and necessary mean in this case. How do you know which one is necessary and which one is sufficient?

I always think of it in terms of sets.

In the picture above, for an element to be purple, it's necessary to be red, but it is not sufficient.
The same holds for the blue set, to be in the blue set is a necessary condition in order to be purple, but it is not enough, it's not sufficient.
A sufficient condition is stronger than a necessary condition. If you tell me that you have a red or blue element I can't say for sure if it is in the purple set, but if you tell me that you have a purple element I now for sure that it is in the red and blue sets.
