I almost went so far as to explain this one in the background, since you basically need to be a computer scientist or logician to get the gates.